summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraveit65 (via Travis CI) <[email protected]>2020-06-26 23:24:24 +0000
committerraveit65 (via Travis CI) <[email protected]>2020-06-26 23:24:24 +0000
commit2365bcf2d121d253c0ab7b7ce3d2da090dd3089c (patch)
tree4f4fe9380fa09a444ff74b8101aa1d060f69030d
downloadcaja-extensions-2365bcf2d121d253c0ab7b7ce3d2da090dd3089c.tar.bz2
caja-extensions-2365bcf2d121d253c0ab7b7ce3d2da090dd3089c.tar.xz
Deploy mate-desktop/caja-extensions to github.com/mate-desktop/caja-extensions.git:gh-pages
-rw-r--r--2020-04-18-005919-8628-1@9cd55edc8599_master/index.html97
-rw-r--r--2020-04-18-005919-8628-1@9cd55edc8599_master/report-598c80.html1018
-rw-r--r--2020-04-18-005919-8628-1@9cd55edc8599_master/report-b61851.html1018
-rw-r--r--2020-04-18-005919-8628-1@9cd55edc8599_master/scanview.css62
-rw-r--r--2020-04-18-005919-8628-1@9cd55edc8599_master/sorttable.js492
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/0.html1574
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/1.html1508
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/10.html530
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/2.html486
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/3.html1874
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/4.html922
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/5.html566
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/6.html1272
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/7.html1122
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/8.html2730
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/9.html2186
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/index.html148
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/stats.html101
-rw-r--r--2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/style.css149
-rw-r--r--2020-04-18-210506-6150-1@be37bd1dc030_master/index.html97
-rw-r--r--2020-04-18-210506-6150-1@be37bd1dc030_master/report-6951da.html1018
-rw-r--r--2020-04-18-210506-6150-1@be37bd1dc030_master/report-d04d9f.html1018
-rw-r--r--2020-04-18-210506-6150-1@be37bd1dc030_master/scanview.css62
-rw-r--r--2020-04-18-210506-6150-1@be37bd1dc030_master/sorttable.js492
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/0.html1574
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/1.html1508
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/10.html530
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/2.html486
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/3.html1874
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/4.html922
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/5.html566
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/6.html1272
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/7.html1122
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/8.html2730
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/9.html2186
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/index.html148
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/stats.html101
-rw-r--r--2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/style.css149
-rw-r--r--2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/index.html97
-rw-r--r--2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-450120.html1018
-rw-r--r--2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-57a0bb.html1018
-rw-r--r--2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/scanview.css62
-rw-r--r--2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/sorttable.js492
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/0.html1574
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/1.html1508
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/10.html530
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/2.html486
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/3.html1874
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/4.html922
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/5.html566
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/6.html1272
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/7.html1122
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/8.html2730
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/9.html2186
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/index.html148
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/stats.html101
-rw-r--r--2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/style.css149
-rw-r--r--2020-06-21-110019-6106-1@9ead9ce3bdd6_master/index.html97
-rw-r--r--2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-5c517c.html1018
-rw-r--r--2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-683370.html1018
-rw-r--r--2020-06-21-110019-6106-1@9ead9ce3bdd6_master/scanview.css62
-rw-r--r--2020-06-21-110019-6106-1@9ead9ce3bdd6_master/sorttable.js492
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/0.html1574
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/1.html1508
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/10.html530
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/2.html486
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/3.html1874
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/4.html922
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/5.html566
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/6.html1272
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/7.html1122
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/8.html2730
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/9.html2186
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/index.html148
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/stats.html101
-rw-r--r--2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/style.css149
-rw-r--r--2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/index.html97
-rw-r--r--2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-4457b5.html1018
-rw-r--r--2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-e45fe9.html1018
-rw-r--r--2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/scanview.css62
-rw-r--r--2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/sorttable.js492
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/0.html1574
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/1.html1508
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/10.html530
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/2.html486
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/3.html1874
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/4.html922
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/5.html566
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/6.html1272
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/7.html1122
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/8.html2730
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/9.html2186
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/index.html148
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/stats.html101
-rw-r--r--2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/style.css149
-rw-r--r--2020-06-23-103637-6108-1@98f663d85b4e_master/index.html97
-rw-r--r--2020-06-23-103637-6108-1@98f663d85b4e_master/report-02f73c.html1018
-rw-r--r--2020-06-23-103637-6108-1@98f663d85b4e_master/report-d927ba.html1018
-rw-r--r--2020-06-23-103637-6108-1@98f663d85b4e_master/scanview.css62
-rw-r--r--2020-06-23-103637-6108-1@98f663d85b4e_master/sorttable.js492
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/0.html1574
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/1.html1508
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/10.html530
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/2.html486
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/3.html1874
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/4.html922
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/5.html566
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/6.html1272
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/7.html1122
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/8.html2730
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/9.html2186
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/index.html148
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/stats.html101
-rw-r--r--2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/style.css149
-rw-r--r--2020-06-23-104123-6106-1@22c7f5486c17_master/index.html97
-rw-r--r--2020-06-23-104123-6106-1@22c7f5486c17_master/report-064885.html1018
-rw-r--r--2020-06-23-104123-6106-1@22c7f5486c17_master/report-302aa9.html1018
-rw-r--r--2020-06-23-104123-6106-1@22c7f5486c17_master/scanview.css62
-rw-r--r--2020-06-23-104123-6106-1@22c7f5486c17_master/sorttable.js492
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/0.html1574
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/1.html1508
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/10.html530
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/2.html486
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/3.html1874
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/4.html922
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/5.html566
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/6.html1272
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/7.html1122
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/8.html2730
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/9.html2186
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/index.html148
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/stats.html101
-rw-r--r--2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/style.css149
-rw-r--r--2020-06-23-115720-6106-1@274d435c1798_master/index.html97
-rw-r--r--2020-06-23-115720-6106-1@274d435c1798_master/report-61181b.html1018
-rw-r--r--2020-06-23-115720-6106-1@274d435c1798_master/report-b8d7d4.html1018
-rw-r--r--2020-06-23-115720-6106-1@274d435c1798_master/scanview.css62
-rw-r--r--2020-06-23-115720-6106-1@274d435c1798_master/sorttable.js492
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/0.html1574
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/1.html1508
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/10.html530
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/2.html486
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/3.html1874
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/4.html922
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/5.html566
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/6.html1272
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/7.html1122
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/8.html2730
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/9.html2186
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/index.html148
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/stats.html101
-rw-r--r--2020-06-23-115757-9686-cppcheck@274d435c1798_master/style.css149
-rw-r--r--2020-06-23-120216-6106-1@274d435c1798_v1.25.0/index.html97
-rw-r--r--2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-0125a7.html1018
-rw-r--r--2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-3c397a.html1018
-rw-r--r--2020-06-23-120216-6106-1@274d435c1798_v1.25.0/scanview.css62
-rw-r--r--2020-06-23-120216-6106-1@274d435c1798_v1.25.0/sorttable.js492
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/0.html1574
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/1.html1508
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/10.html530
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/2.html486
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/3.html1874
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/4.html922
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/5.html566
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/6.html1272
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/7.html1122
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/8.html2730
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/9.html2186
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/index.html148
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/stats.html101
-rw-r--r--2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/style.css149
-rw-r--r--2020-06-26-232255-6106-1@a92e7aa4e086_master/index.html97
-rw-r--r--2020-06-26-232255-6106-1@a92e7aa4e086_master/report-47a8f3.html1018
-rw-r--r--2020-06-26-232255-6106-1@a92e7aa4e086_master/report-871a1b.html1018
-rw-r--r--2020-06-26-232255-6106-1@a92e7aa4e086_master/scanview.css62
-rw-r--r--2020-06-26-232255-6106-1@a92e7aa4e086_master/sorttable.js492
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/0.html1574
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/1.html1508
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/10.html530
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/2.html486
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/3.html1874
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/4.html922
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/5.html566
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/6.html1272
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/7.html1122
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/8.html2730
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/9.html2186
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/index.html148
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/stats.html101
-rw-r--r--2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/style.css149
-rw-r--r--CNAME1
-rw-r--r--index.html47
192 files changed, 178598 insertions, 0 deletions
diff --git a/2020-04-18-005919-8628-1@9cd55edc8599_master/index.html b/2020-04-18-005919-8628-1@9cd55edc8599_master/index.html
new file mode 100644
index 0000000..b130913
--- /dev/null
+++ b/2020-04-18-005919-8628-1@9cd55edc8599_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@747d133f3ca9</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Sat Apr 18 00:59:19 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-b61851.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-b61851.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-598c80.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-598c80.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-04-18-005919-8628-1@9cd55edc8599_master/report-598c80.html b/2020-04-18-005919-8628-1@9cd55edc8599_master/report-598c80.html
new file mode 100644
index 0000000..2b82b46
--- /dev/null
+++ b/2020-04-18-005919-8628-1@9cd55edc8599_master/report-598c80.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-04-18-005919-8628-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-04-18-005919-8628-1@9cd55edc8599_master/report-b61851.html b/2020-04-18-005919-8628-1@9cd55edc8599_master/report-b61851.html
new file mode 100644
index 0000000..e571b24
--- /dev/null
+++ b/2020-04-18-005919-8628-1@9cd55edc8599_master/report-b61851.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-04-18-005919-8628-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-04-18-005919-8628-1@9cd55edc8599_master/scanview.css b/2020-04-18-005919-8628-1@9cd55edc8599_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-04-18-005919-8628-1@9cd55edc8599_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-04-18-005919-8628-1@9cd55edc8599_master/sorttable.js b/2020-04-18-005919-8628-1@9cd55edc8599_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-04-18-005919-8628-1@9cd55edc8599_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/0.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/0.html
new file mode 100644
index 0000000..6c4ed25
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\213\007\000\000\137\144\153\207\010\000\000\000\213\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\353\071\235\216\154\204</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\251\100\374\001\206\310\377\344\070\103\216\376\115\061\107\211</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\103\360\170\004\046\342\361\147\360\332\221\044\163\101\127\265</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\143\343\357\050\024\116\110\140\222\214\300\127\361\170\035\175</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\117\023\061\103\124\000\007\107\043\000\137\376\356\201\214\102</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\322\304\234\305\210\213\245\103\341\014\215\000\141\163\304\201</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\337\033\166\237\277\050\156\227\306\261\152\347\272\165\055\237</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\040\111\021\360\057\153\033\046\002\305\001\246\041\107\152\300</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\365\143\210\341\004\155\020\274\351\142\330\315\001\061\305\306</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\153\007\233\053\371\243\011\216\204\361\160\340\071\267\360\210</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\307\077\147\222\074\107\006\147\037\313\354\351\011\047\170\114</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\244\014\367\074\105\165\103\012\041\015\036\130\230\046\300\277</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\205\044\251\155\217\103\106\203\354\043\360\245\123\350\110\362</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\020\021\023\051\176\303\220\260\111\056\206\364\057\370\077\024</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\104\371\243\166\006\050\260\220\262\073\202\103\232\020\050\240</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\104\142\004\226\110\222\177\123\275\071\012\306\244\226\315\062</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\106\301\024\147\132\312\207\267\105\020\116\061\211\362\317\031</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\071\221\236\163\312\110\204\170\167\325\240\273\326\042\157\355</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\050\037\113\041\351\250\077\245\252\306\154\001\136\170\154\141</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\365\353\332\267\346\310\024\321\314\040\237\140\032\020\364\220</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\115\077\317\200\204\343\311\324\224\106\260\330\220\142\314\204</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\140\063\135\042\306\261\264\043\050\344\242\004\174\271\072\011</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\034\102\242\103\230\304\060\224\153\144\151\077\305\332\202\141</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\326\123\000\071\202\153\152\051\124\134\052\305\240\233\352\333</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\125\205\205\176\017\056\131\052\202\104\054\063\073\107\064\052</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\045\334\230\245\165\003\316\255\162\254\076\367\300\133\252\242</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\141\214\021\051\264\265\340\246\300\061\124\063\253\164\133\232</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\040\232\222\162\024\042\374\204\222\040\102\017\060\045\302\234</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\203\362\304\300\317\035\262\011\141\232\240\040\245\322\135\020</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\114\167\020\032\222\071\134\046\101\062\145\363\140\065\206\152</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\026\353\136\171\223\061\014\037\245\055\324\167\211\026\061\244</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\221\371\120\037\060\041\346\124\061\113\160\156\330\156\225\120</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\205\243\337\160\275\315\115\301\153\146\012\371\272\163\374\246</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\140\064\243\017\167\072\366\332\230\216\105\342\027\213\136\046</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\266\321\172\221\313\154\104\122\153\177\005\302\156\011\272\155</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\163\165\101\316\316\346\320\326\322\252\035\123\354\020\127\230</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\270\241\133\256\202\354\017\361\025\225\000\225\172\273\140\001</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\011\236\124\073\350\002\210\246\060\222\153\126\026\137\003\237</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\062\132\335\157\041\130\305\200\135\147\203\311\363\252\202\366</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\015\200\153\012\136\041\200\062\000\017\142\030\105\065\263\245</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\036\010\135\243\152\015\212\066\340\250\313\031\006\273\060\060</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\262\134\055\053\326\033\106\245\152\166\121\117\053\052\152\113</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\115\315\001\322\003\251\030\250\157\060\302\154\075\042\133\105</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\047\201\052\034\360\354\333\074\106\003\165\274\115\102\266\073</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\104\262\141\100\047\353\345\263\256\214\255\251\255\141\144\147</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\036\351\031\115\206\042\226\323\325\112\220\010\310\105\023\106</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\131\212\375\324\002\134\021\207\062\057\242\221\164\001\202\161</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\123\176\145\301\351\166\257\145\301\252\156\360\332\030\171\275</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\150\266\225\144\153\033\045\055\361\013\223\261\266\374\303\015</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\233\215\231\364\246\367\150\261\052\032\207\331\223\061\133\010</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\371\104\171\011\260\037\126\333\202\215\045\201\134\337\370\262</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\371\260\024\233\100\041\024\062\222\316\314\364\056\371\141\201</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\146\111\175\273\125\113\377\252\277\270\352\017\273\352\263\066</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\121\317\033\054\344\257\051\131\377\302\135\134\014\134\123\262</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\201\353\056\372\256\061\131\317\365\056\026\277\364\007\073\010</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\347\112\114\314\373\353\113\272\236\173\151\116\170\345\111\102</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\117\137\302\274\235\206\222\113\212\245\253\251\252\063\300\055</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\253\376\135\321\156\230\263\142\327\321\147\332\352\012\252\277</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\042\150\272\273\217\134\142\232\072\213\266\127\230\336\141\255</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\060\177\251\050\361\110\326\220\362\220\067\306\013\104\022\033</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\042\151\114\140\357\107\114\140\035\274\365\260\156\005\347\346</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\030\067\016\101\065\260\255\305\325\346\356\037\224\273\267\232</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\235\207\220\330\254\374\364\262\362\155\176\023\316\322\030\370</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\145\065\041\273\232\035\137\302\177\027\143\272\136\017\214\103</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\251\167\371\154\347\052\340\076\372\202\327\027\337\200\277\366</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\376\344\076\316\147\233\135\330\354\102\043\273\100\074\224\063</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\330\072\144\233\136\374\360\364\242\147\323\213\343\334\032\224</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\203\027\154\366\276\073\203\067\252\017\273\057\150\063\020\233</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\201\234\150\006\162\042\041\333\077\070\022\323\317\166\002\037</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\137\316\361\066\205\236\147\232\076\225\044\332\263\111\364\236</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\246\040\326\043\327\170\344\077\120\166\004\313\272\144\235\031</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\174\176\330\056\171\252\124\175\052\076\371\334\372\344\372\031</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\175\141\175\262\175\155\342\220\135\362\245\255\153\276\153\135</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\323\373\250\272\146\065\246\025\304\345\204\245\104\253\227\013</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\263\323\102\317\146\250\167\032\250\312\377\354\327\111\240\122</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\337\242\056\052\160\356\152\316\216\052\236\120\010\216\145\244</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\200\112\337\327\174\155\262\352\167\256\102\014\340\250\373\056</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\106\140\314\110\004\272\145\052\255\346\157\254\327\366\016\177</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\032\237\134\073\260\303\310\366\024\240\143\117\001\152\006\143</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\366\024\240\075\005\170\042\133\175\060\216\021\215\336\155\227</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\357\132\261\267\373\173\247\266\277\147\067\341\016\245\274\260</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\166\102\050\223\044\320\075\030\164\010\166\052\324\131\306\002</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\267\164\226\337\227\026\331\162\331\321\355\311\235\110\271\114</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\060\107\052\032\071\352\222\076\353\227\367\165\053\316\036\066</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\152\277\152\266\133\212\260\025\371\142\252\156\232\064\010\175</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\365\255\163\165\101\046\246\216\352\143\127\160\333\116\122\232</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\260\151\030\363\266\022\357\266\021\353\266\031\347\226\274\303</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\266\235\123\351\232\206\175\165\330\226\330\017\263\304\176\053</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\203\221\254\215\055\260\357\115\201\375\160\257\127\064\271\235</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\260\126\336\372\333\025\067\145\334\274\155\072\277\251\270\063</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\307\321\004\211\227\051\265\371\330\221\331\144\314\150\042\107</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\323\351\003\177\165\353\257\234\212\353\215\352\111\057\237\111</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\275\102\322\067\017\223\315\013\302\207\335\265\377\072\360\077</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\355\112\320\056\000\050\165\165\141\171\051\143\141\152\141\057</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/1.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/10.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/2.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/3.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/4.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/4.html
new file mode 100644
index 0000000..df1c99c
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\267\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\006\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\026\354\002\015\262\171\062\374\016\324\004\224\023\255</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\047\350\306\334\377\275\040\063\100\001\213\046\210\245\237\103</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\224\316\263\063\143\045\143\120\146\035\010\262\200\011\132\062</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\315\102\016\150\172\253\022\030\017\236\376\165\117\246\104\340</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\073\111\023\215\246\327\204\353\332\371\214\112\201\323\117\064</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\215\054\330\002\204\351\151\020\121\021\156\074\310\167\337\214</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\220\321\117\046\304\312\240\147\301\051\160\037\052\276\062\302</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\345\054\047\203\222\357\004\247\154\060\022\107\371\170\067\273</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\064\314\130\006\004\106\021\241\071\061\304\262\143\202\326\140</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\301\277\331\325\202\133\331\357\367\273\021\231\143\355\165\014</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\170\156\225\327\302\145\064\355\001\320\071\343\121\376\235\202</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\163\253\342\163\311\043\120\203\315\204\301\316\214\174\166\220</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\031\203\040\274\227\375\264\102\016\345\003\332\342\330\343\362</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\347\235\177\375\331\351\202\131\020\065\143\002\163\270\263\204</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\015\107\036\040\212\315\346\276\060\106\306\236\020\241\064\106</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\056\232\002\111\305\254\074\211\261\336\003\115\255\033\061\214</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\022\336\004\120\307\204\132\147\126\272\216\133\132\204\246\053</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\141\242\200\354\210\305\051\270\304\222\041\212\342\153\053\102</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\027\034\047\153\231\030\254\315\072\365\020\016\165\056\122\122</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\034\053\337\360\223\075\247\336\000\207\371\320\113\130\327\146</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\102\340\116\063\305\137\034\216\245\032\131\245\333\153\310\112</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\137\120\005\024\330\022\064\216\340\216\044\334\370\143\310\074</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\071\232\346\016\335\007\060\321\200\023\141\235\006\147\242\005</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\321\204\257\310\132\143\075\227\053\274\331\103\065\212\135\257</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\136\104\114\350\275\265\210\372\045\341\041\046\042\362\337\352</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\035\343\334\037\052\226\232\345\346\175\121\105\224\163\367\005</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\007\174\210\101\244\361\242\013\163\370\126\141\250\157\323\026</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\206\147\145\166\052\363\260\013\145\166\221\357\046\275\214\154</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\257\230\223\323\354\005\022\223\050\312\302\354\125\163\010\172</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\217\323\334\253\072\252\371\172\011\007\123\367\030\272\357\031</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\352\022\262\326\066\333\125\032\320\070\377\151\221\003\371\070</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\313\153\225\045\330\257\342\320\052\031\124\352\217\361\003\341</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\154\126\035\106\034\054\232\223\310\072\243\134\037\205\024\325</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\353\072\231\345\146\330\247\164\063\151\055\202\134\363\017\140</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\334\241\314\163\062\320\026\013\170\153\312\303\121\055\174\051</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\043\334\314\270\121\054\102\145\323\017\344\105\027\374\250\053</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\160\256\332\040\120\126\257\266\026\330\012\003\225\074\131\010</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\137\044\225\262\161\313\347\213\134\204\062\365\174\131\062\044</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\343\324\335\150\114\323\321\160\317\037\166\056\275\256\044\350</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\302\063\157\032\377\353\163\216\146\371\107\255\231\021\143\010</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\235\127\046\010\325\130\254\106\156\221\134\064\045\251\166\277</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\316\124\372\120\275\372\104\155\155\370\117\236\055\157\323\154</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\043\161\236\100\237\262\132\155\142\215\066\104\231\266\110\252</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\313\210\000\023\375\147\133\324\236\105\147\245\037\024\260\220</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\202\121\274\142\321\014\154\070\173\351\036\216\312\252\056\336</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\227\125\235\115\250\322\204\014\226\257\157\102\247\244\351\303</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\343\326\364\155\112\062\267\176\306\072\034\133\011\121\243\067</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\236\110\237\262\366\173\325\165\376\254\054\071\260\150\055\274</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\323\312\212\136\115\253\253\231\122\001\134\016\130\012\264\071</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\261\110\053\325\047\277\327\254\022\255\212\024\307\125\205\226</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\072\363\257\240\015\023\231\265\324\042\265\112\240\130\230\030</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\320\245\122\333\116\331\054\274\202\354\344\053\130\022\236\330</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\237\241\065\031\064\050\223\151\065\176\157\301\166\327\341\364</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\156\233\234\130\277\376\334\202\072\267\240\332\267\240\076\127</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\366\061\336\146\007\252\165\222\121\332\110\376\161\035\250\071</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\320\302\211\134\166\114\100\323\321\322\143\271\103\152\353\024</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\075\244\347\377\255\353\203\256\323\311\103\320\354\037\351\375</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\374\322\254\303\026\104\244\310\012\063\021\131\365\065\122\035</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\107\055\326\070\352\036\036\201\017\216\306\307\122\312\235\160</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\275\346\347\001\075\212\264\075\106\375\045\214\132\357\370\100</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\310\176\327\341\351\210\175\035\372\250\216\272\361\115\255\270</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\271\045\167\146\315\335\130\164\047\126\335\320\262\033\326\372</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\355\225\367\351\040\351\026\036\314\156\034\157\166\222\364\132</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\152\174\260\224\323\153\202\113\300\351\241\346\157\136\170\230</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\201\205\256\237\267\231\071\355\377\361\070\036\144\137\315\101</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\154\314\356\207\217\243\126\160\263\166\313\075\370\203\075\262</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\270\051\114\076\117\237\235\104\233\273\106\077\316\111\274\243</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\324\352\334\117\174\143\375\104\033\246\142\005\132\237\373\211</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\307\324\117\074\335\053\223\076\067\001\153\351\355\362\046\143</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\176\353\302\020\223\150\034\326\336\154\324\040\322\275\055\301</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\223\011\215\057\067\066\354\364\356\074\240\332\354\175\163\131</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\370\070\173\277\215\333\045\125\057\227\262\027\110\075\120\112</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\252\327\270\016\375\326\017\013\166\057\035\345\052\124\026\342</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\116\133\205\312\143\134\366\317\233\124\245\367\026\047\056\333</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\306\211\042\215\305\327\212\371\113\267\336\346\052\305\026\242</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\060\034\330\034\051\226\102\333\335\364\176\107\323\302\253\061</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\233\270\354\116\255\107\160\151\265\373\371\225\215\023\374\305</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\240\056\076\122\265\165\340\363\103\343\377\001\224\300\104\026</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\000\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/5.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/6.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/7.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/8.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/9.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/index.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/stats.html b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/style.css b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-04-18-005956-2464-cppcheck@9cd55edc8599_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-04-18-210506-6150-1@be37bd1dc030_master/index.html b/2020-04-18-210506-6150-1@be37bd1dc030_master/index.html
new file mode 100644
index 0000000..bffd144
--- /dev/null
+++ b/2020-04-18-210506-6150-1@be37bd1dc030_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@b2c5a58fe97f</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Sat Apr 18 21:05:06 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-d04d9f.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-d04d9f.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-6951da.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-6951da.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-04-18-210506-6150-1@be37bd1dc030_master/report-6951da.html b/2020-04-18-210506-6150-1@be37bd1dc030_master/report-6951da.html
new file mode 100644
index 0000000..2d2e217
--- /dev/null
+++ b/2020-04-18-210506-6150-1@be37bd1dc030_master/report-6951da.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-04-18-210506-6150-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-04-18-210506-6150-1@be37bd1dc030_master/report-d04d9f.html b/2020-04-18-210506-6150-1@be37bd1dc030_master/report-d04d9f.html
new file mode 100644
index 0000000..fcc54dd
--- /dev/null
+++ b/2020-04-18-210506-6150-1@be37bd1dc030_master/report-d04d9f.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-04-18-210506-6150-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-04-18-210506-6150-1@be37bd1dc030_master/scanview.css b/2020-04-18-210506-6150-1@be37bd1dc030_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-04-18-210506-6150-1@be37bd1dc030_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-04-18-210506-6150-1@be37bd1dc030_master/sorttable.js b/2020-04-18-210506-6150-1@be37bd1dc030_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-04-18-210506-6150-1@be37bd1dc030_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/0.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/0.html
new file mode 100644
index 0000000..6c4ed25
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\213\007\000\000\137\144\153\207\010\000\000\000\213\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\353\071\235\216\154\204</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\251\100\374\001\206\310\377\344\070\103\216\376\115\061\107\211</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\103\360\170\004\046\342\361\147\360\332\221\044\163\101\127\265</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\143\343\357\050\024\116\110\140\222\214\300\127\361\170\035\175</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\117\023\061\103\124\000\007\107\043\000\137\376\356\201\214\102</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\322\304\234\305\210\213\245\103\341\014\215\000\141\163\304\201</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\337\033\166\237\277\050\156\227\306\261\152\347\272\165\055\237</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\040\111\021\360\057\153\033\046\002\305\001\246\041\107\152\300</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\365\143\210\341\004\155\020\274\351\142\330\315\001\061\305\306</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\153\007\233\053\371\243\011\216\204\361\160\340\071\267\360\210</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\307\077\147\222\074\107\006\147\037\313\354\351\011\047\170\114</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\244\014\367\074\105\165\103\012\041\015\036\130\230\046\300\277</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\205\044\251\155\217\103\106\203\354\043\360\245\123\350\110\362</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\020\021\023\051\176\303\220\260\111\056\206\364\057\370\077\024</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\104\371\243\166\006\050\260\220\262\073\202\103\232\020\050\240</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\104\142\004\226\110\222\177\123\275\071\012\306\244\226\315\062</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\106\301\024\147\132\312\207\267\105\020\116\061\211\362\317\031</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\071\221\236\163\312\110\204\170\167\325\240\273\326\042\157\355</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\050\037\113\041\351\250\077\245\252\306\154\001\136\170\154\141</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\365\353\332\267\346\310\024\321\314\040\237\140\032\020\364\220</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\115\077\317\200\204\343\311\324\224\106\260\330\220\142\314\204</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\140\063\135\042\306\261\264\043\050\344\242\004\174\271\072\011</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\034\102\242\103\230\304\060\224\153\144\151\077\305\332\202\141</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\326\123\000\071\202\153\152\051\124\134\052\305\240\233\352\333</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\125\205\205\176\017\056\131\052\202\104\054\063\073\107\064\052</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\045\334\230\245\165\003\316\255\162\254\076\367\300\133\252\242</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\141\214\021\051\264\265\340\246\300\061\124\063\253\164\133\232</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\040\232\222\162\024\042\374\204\222\040\102\017\060\045\302\234</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\203\362\304\300\317\035\262\011\141\232\240\040\245\322\135\020</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\114\167\020\032\222\071\134\046\101\062\145\363\140\065\206\152</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\026\353\136\171\223\061\014\037\245\055\324\167\211\026\061\244</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\221\371\120\037\060\041\346\124\061\113\160\156\330\156\225\120</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\205\243\337\160\275\315\115\301\153\146\012\371\272\163\374\246</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\140\064\243\017\167\072\366\332\230\216\105\342\027\213\136\046</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\266\321\172\221\313\154\104\122\153\177\005\302\156\011\272\155</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\163\165\101\316\316\346\320\326\322\252\035\123\354\020\127\230</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\270\241\133\256\202\354\017\361\025\225\000\225\172\273\140\001</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\011\236\124\073\350\002\210\246\060\222\153\126\026\137\003\237</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\062\132\335\157\041\130\305\200\135\147\203\311\363\252\202\366</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\015\200\153\012\136\041\200\062\000\017\142\030\105\065\263\245</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\036\010\135\243\152\015\212\066\340\250\313\031\006\273\060\060</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\262\134\055\053\326\033\106\245\152\166\121\117\053\052\152\113</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\115\315\001\322\003\251\030\250\157\060\302\154\075\042\133\105</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\047\201\052\034\360\354\333\074\106\003\165\274\115\102\266\073</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\104\262\141\100\047\353\345\263\256\214\255\251\255\141\144\147</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\036\351\031\115\206\042\226\323\325\112\220\010\310\105\023\106</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\131\212\375\324\002\134\021\207\062\057\242\221\164\001\202\161</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\123\176\145\301\351\166\257\145\301\252\156\360\332\030\171\275</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\150\266\225\144\153\033\045\055\361\013\223\261\266\374\303\015</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\233\215\231\364\246\367\150\261\052\032\207\331\223\061\133\010</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\371\104\171\011\260\037\126\333\202\215\045\201\134\337\370\262</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\371\260\024\233\100\041\024\062\222\316\314\364\056\371\141\201</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\146\111\175\273\125\113\377\252\277\270\352\017\273\352\263\066</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\121\317\033\054\344\257\051\131\377\302\135\134\014\134\123\262</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\201\353\056\372\256\061\131\317\365\056\026\277\364\007\073\010</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\347\112\114\314\373\353\113\272\236\173\151\116\170\345\111\102</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\117\137\302\274\235\206\222\113\212\245\253\251\252\063\300\055</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\253\376\135\321\156\230\263\142\327\321\147\332\352\012\252\277</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\042\150\272\273\217\134\142\232\072\213\266\127\230\336\141\255</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\060\177\251\050\361\110\326\220\362\220\067\306\013\104\022\033</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\042\151\114\140\357\107\114\140\035\274\365\260\156\005\347\346</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\030\067\016\101\065\260\255\305\325\346\356\037\224\273\267\232</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\235\207\220\330\254\374\364\262\362\155\176\023\316\322\030\370</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\145\065\041\273\232\035\137\302\177\027\143\272\136\017\214\103</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\251\167\371\154\347\052\340\076\372\202\327\027\337\200\277\366</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\376\344\076\316\147\233\135\330\354\102\043\273\100\074\224\063</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\330\072\144\233\136\374\360\364\242\147\323\213\343\334\032\224</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\203\027\154\366\276\073\203\067\252\017\273\057\150\063\020\233</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\201\234\150\006\162\042\041\333\077\070\022\323\317\166\002\037</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\137\316\361\066\205\236\147\232\076\225\044\332\263\111\364\236</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\246\040\326\043\327\170\344\077\120\166\004\313\272\144\235\031</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\174\176\330\056\171\252\124\175\052\076\371\334\372\344\372\031</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\175\141\175\262\175\155\342\220\135\362\245\255\153\276\153\135</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\323\373\250\272\146\065\246\025\304\345\204\245\104\253\227\013</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\263\323\102\317\146\250\167\032\250\312\377\354\327\111\240\122</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\337\242\056\052\160\356\152\316\216\052\236\120\010\216\145\244</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\200\112\337\327\174\155\262\352\167\256\102\014\340\250\373\056</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\106\140\314\110\004\272\145\052\255\346\157\254\327\366\016\177</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\032\237\134\073\260\303\310\366\024\240\143\117\001\152\006\143</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\366\024\240\075\005\170\042\133\175\060\216\021\215\336\155\227</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\357\132\261\267\373\173\247\266\277\147\067\341\016\245\274\260</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\166\102\050\223\044\320\075\030\164\010\166\052\324\131\306\002</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\267\164\226\337\227\026\331\162\331\321\355\311\235\110\271\114</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\060\107\052\032\071\352\222\076\353\227\367\165\053\316\036\066</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\152\277\152\266\133\212\260\025\371\142\252\156\232\064\010\175</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\365\255\163\165\101\046\246\216\352\143\127\160\333\116\122\232</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\260\151\030\363\266\022\357\266\021\353\266\031\347\226\274\303</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\266\235\123\351\232\206\175\165\330\226\330\017\263\304\176\053</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\203\221\254\215\055\260\357\115\201\375\160\257\127\064\271\235</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\260\126\336\372\333\025\067\145\334\274\155\072\277\251\270\063</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\307\321\004\211\227\051\265\371\330\221\331\144\314\150\042\107</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\323\351\003\177\165\353\257\234\212\353\215\352\111\057\237\111</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\275\102\322\067\017\223\315\013\302\207\335\265\377\072\360\077</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\355\112\320\056\000\050\165\165\141\171\051\143\141\152\141\057</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/1.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/10.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/2.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/3.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/4.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/4.html
new file mode 100644
index 0000000..df1c99c
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\267\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\006\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\026\354\002\015\262\171\062\374\016\324\004\224\023\255</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\047\350\306\334\377\275\040\063\100\001\213\046\210\245\237\103</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\224\316\263\063\143\045\143\120\146\035\010\262\200\011\132\062</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\315\102\016\150\172\253\022\030\017\236\376\165\117\246\104\340</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\073\111\023\215\246\327\204\353\332\371\214\112\201\323\117\064</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\215\054\330\002\204\351\151\020\121\021\156\074\310\167\337\214</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\220\321\117\046\304\312\240\147\301\051\160\037\052\276\062\302</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\345\054\047\203\222\357\004\247\154\060\022\107\371\170\067\273</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\064\314\130\006\004\106\021\241\071\061\304\262\143\202\326\140</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\301\277\331\325\202\133\331\357\367\273\021\231\143\355\165\014</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\170\156\225\327\302\145\064\355\001\320\071\343\121\376\235\202</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\163\253\342\163\311\043\120\203\315\204\301\316\214\174\166\220</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\031\203\040\274\227\375\264\102\016\345\003\332\342\330\343\362</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\347\235\177\375\331\351\202\131\020\065\143\002\163\270\263\204</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\015\107\036\040\212\315\346\276\060\106\306\236\020\241\064\106</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\056\232\002\111\305\254\074\211\261\336\003\115\255\033\061\214</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\022\336\004\120\307\204\132\147\126\272\216\133\132\204\246\053</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\141\242\200\354\210\305\051\270\304\222\041\212\342\153\053\102</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\027\034\047\153\231\030\254\315\072\365\020\016\165\056\122\122</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\034\053\337\360\223\075\247\336\000\207\371\320\113\130\327\146</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\102\340\116\063\305\137\034\216\245\032\131\245\333\153\310\112</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\137\120\005\024\330\022\064\216\340\216\044\334\370\143\310\074</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\071\232\346\016\335\007\060\321\200\023\141\235\006\147\242\005</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\321\204\257\310\132\143\075\227\053\274\331\103\065\212\135\257</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\136\104\114\350\275\265\210\372\045\341\041\046\042\362\337\352</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\035\343\334\037\052\226\232\345\346\175\121\105\224\163\367\005</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\007\174\210\101\244\361\242\013\163\370\126\141\250\157\323\026</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\206\147\145\166\052\363\260\013\145\166\221\357\046\275\214\154</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\257\230\223\323\354\005\022\223\050\312\302\354\125\163\010\172</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\217\323\334\253\072\252\371\172\011\007\123\367\030\272\357\031</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\352\022\262\326\066\333\125\032\320\070\377\151\221\003\371\070</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\313\153\225\045\330\257\342\320\052\031\124\352\217\361\003\341</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\154\126\035\106\034\054\232\223\310\072\243\134\037\205\024\325</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\353\072\231\345\146\330\247\164\063\151\055\202\134\363\017\140</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\334\241\314\163\062\320\026\013\170\153\312\303\121\055\174\051</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\043\334\314\270\121\054\102\145\323\017\344\105\027\374\250\053</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\160\256\332\040\120\126\257\266\026\330\012\003\225\074\131\010</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\137\044\225\262\161\313\347\213\134\204\062\365\174\131\062\044</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\343\324\335\150\114\323\321\160\317\037\166\056\275\256\044\350</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\302\063\157\032\377\353\163\216\146\371\107\255\231\021\143\010</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\235\127\046\010\325\130\254\106\156\221\134\064\045\251\166\277</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\316\124\372\120\275\372\104\155\155\370\117\236\055\157\323\154</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\043\161\236\100\237\262\132\155\142\215\066\104\231\266\110\252</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\313\210\000\023\375\147\133\324\236\105\147\245\037\024\260\220</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\202\121\274\142\321\014\154\070\173\351\036\216\312\252\056\336</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\227\125\235\115\250\322\204\014\226\257\157\102\247\244\351\303</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\343\326\364\155\112\062\267\176\306\072\034\133\011\121\243\067</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\236\110\237\262\366\173\325\165\376\254\054\071\260\150\055\274</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\323\312\212\136\115\253\253\231\122\001\134\016\130\012\264\071</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\261\110\053\325\047\277\327\254\022\255\212\024\307\125\205\226</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\072\363\257\240\015\023\231\265\324\042\265\112\240\130\230\030</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\320\245\122\333\116\331\054\274\202\354\344\053\130\022\236\330</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\237\241\065\031\064\050\223\151\065\176\157\301\166\327\341\364</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\156\233\234\130\277\376\334\202\072\267\240\332\267\240\076\127</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\366\061\336\146\007\252\165\222\121\332\110\376\161\035\250\071</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\320\302\211\134\166\114\100\323\321\322\143\271\103\152\353\024</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\075\244\347\377\255\353\203\256\323\311\103\320\354\037\351\375</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\374\322\254\303\026\104\244\310\012\063\021\131\365\065\122\035</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\107\055\326\070\352\036\036\201\017\216\306\307\122\312\235\160</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\275\346\347\001\075\212\264\075\106\375\045\214\132\357\370\100</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\310\176\327\341\351\210\175\035\372\250\216\272\361\115\255\270</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\271\045\167\146\315\335\130\164\047\126\335\320\262\033\326\372</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\355\225\367\351\040\351\026\036\314\156\034\157\166\222\364\132</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\152\174\260\224\323\153\202\113\300\351\241\346\157\136\170\230</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\201\205\256\237\267\231\071\355\377\361\070\036\144\137\315\101</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\154\314\356\207\217\243\126\160\263\166\313\075\370\203\075\262</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\270\051\114\076\117\237\235\104\233\273\106\077\316\111\274\243</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\324\352\334\117\174\143\375\104\033\246\142\005\132\237\373\211</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\307\324\117\074\335\053\223\076\067\001\153\351\355\362\046\143</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\176\353\302\020\223\150\034\326\336\154\324\040\322\275\055\301</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\223\011\215\057\067\066\354\364\356\074\240\332\354\175\163\131</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\370\070\173\277\215\333\045\125\057\227\262\027\110\075\120\112</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\252\327\270\016\375\326\017\013\166\057\035\345\052\124\026\342</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\116\133\205\312\143\134\366\317\233\124\245\367\026\047\056\333</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\306\211\042\215\305\327\212\371\113\267\336\346\052\305\026\242</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\060\034\330\034\051\226\102\333\335\364\176\107\323\302\253\061</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\233\270\354\116\255\107\160\151\265\373\371\225\215\023\374\305</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\240\056\076\122\265\165\340\363\103\343\377\001\224\300\104\026</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\000\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/5.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/6.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/7.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/8.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/9.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/index.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/stats.html b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/style.css b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-04-18-210541-6870-cppcheck@be37bd1dc030_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/index.html b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/index.html
new file mode 100644
index 0000000..d950695
--- /dev/null
+++ b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@50ff58bb94fa</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Tue May 19 21:49:47 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-450120.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-450120.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-57a0bb.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-57a0bb.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-450120.html b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-450120.html
new file mode 100644
index 0000000..bb2009e
--- /dev/null
+++ b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-450120.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-05-19-214947-6057-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-57a0bb.html b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-57a0bb.html
new file mode 100644
index 0000000..2af6e14
--- /dev/null
+++ b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/report-57a0bb.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-05-19-214947-6057-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/scanview.css b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/sorttable.js b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/0.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/0.html
new file mode 100644
index 0000000..6c4ed25
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\213\007\000\000\137\144\153\207\010\000\000\000\213\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\353\071\235\216\154\204</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\251\100\374\001\206\310\377\344\070\103\216\376\115\061\107\211</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\103\360\170\004\046\342\361\147\360\332\221\044\163\101\127\265</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\143\343\357\050\024\116\110\140\222\214\300\127\361\170\035\175</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\117\023\061\103\124\000\007\107\043\000\137\376\356\201\214\102</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\322\304\234\305\210\213\245\103\341\014\215\000\141\163\304\201</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\337\033\166\237\277\050\156\227\306\261\152\347\272\165\055\237</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\040\111\021\360\057\153\033\046\002\305\001\246\041\107\152\300</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\365\143\210\341\004\155\020\274\351\142\330\315\001\061\305\306</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\153\007\233\053\371\243\011\216\204\361\160\340\071\267\360\210</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\307\077\147\222\074\107\006\147\037\313\354\351\011\047\170\114</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\244\014\367\074\105\165\103\012\041\015\036\130\230\046\300\277</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\205\044\251\155\217\103\106\203\354\043\360\245\123\350\110\362</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\020\021\023\051\176\303\220\260\111\056\206\364\057\370\077\024</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\104\371\243\166\006\050\260\220\262\073\202\103\232\020\050\240</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\104\142\004\226\110\222\177\123\275\071\012\306\244\226\315\062</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\106\301\024\147\132\312\207\267\105\020\116\061\211\362\317\031</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\071\221\236\163\312\110\204\170\167\325\240\273\326\042\157\355</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\050\037\113\041\351\250\077\245\252\306\154\001\136\170\154\141</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\365\353\332\267\346\310\024\321\314\040\237\140\032\020\364\220</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\115\077\317\200\204\343\311\324\224\106\260\330\220\142\314\204</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\140\063\135\042\306\261\264\043\050\344\242\004\174\271\072\011</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\034\102\242\103\230\304\060\224\153\144\151\077\305\332\202\141</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\326\123\000\071\202\153\152\051\124\134\052\305\240\233\352\333</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\125\205\205\176\017\056\131\052\202\104\054\063\073\107\064\052</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\045\334\230\245\165\003\316\255\162\254\076\367\300\133\252\242</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\141\214\021\051\264\265\340\246\300\061\124\063\253\164\133\232</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\040\232\222\162\024\042\374\204\222\040\102\017\060\045\302\234</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\203\362\304\300\317\035\262\011\141\232\240\040\245\322\135\020</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\114\167\020\032\222\071\134\046\101\062\145\363\140\065\206\152</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\026\353\136\171\223\061\014\037\245\055\324\167\211\026\061\244</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\221\371\120\037\060\041\346\124\061\113\160\156\330\156\225\120</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\205\243\337\160\275\315\115\301\153\146\012\371\272\163\374\246</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\140\064\243\017\167\072\366\332\230\216\105\342\027\213\136\046</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\266\321\172\221\313\154\104\122\153\177\005\302\156\011\272\155</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\163\165\101\316\316\346\320\326\322\252\035\123\354\020\127\230</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\270\241\133\256\202\354\017\361\025\225\000\225\172\273\140\001</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\011\236\124\073\350\002\210\246\060\222\153\126\026\137\003\237</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\062\132\335\157\041\130\305\200\135\147\203\311\363\252\202\366</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\015\200\153\012\136\041\200\062\000\017\142\030\105\065\263\245</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\036\010\135\243\152\015\212\066\340\250\313\031\006\273\060\060</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\262\134\055\053\326\033\106\245\152\166\121\117\053\052\152\113</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\115\315\001\322\003\251\030\250\157\060\302\154\075\042\133\105</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\047\201\052\034\360\354\333\074\106\003\165\274\115\102\266\073</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\104\262\141\100\047\353\345\263\256\214\255\251\255\141\144\147</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\036\351\031\115\206\042\226\323\325\112\220\010\310\105\023\106</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\131\212\375\324\002\134\021\207\062\057\242\221\164\001\202\161</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\123\176\145\301\351\166\257\145\301\252\156\360\332\030\171\275</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\150\266\225\144\153\033\045\055\361\013\223\261\266\374\303\015</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\233\215\231\364\246\367\150\261\052\032\207\331\223\061\133\010</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\371\104\171\011\260\037\126\333\202\215\045\201\134\337\370\262</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\371\260\024\233\100\041\024\062\222\316\314\364\056\371\141\201</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\146\111\175\273\125\113\377\252\277\270\352\017\273\352\263\066</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\121\317\033\054\344\257\051\131\377\302\135\134\014\134\123\262</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\201\353\056\372\256\061\131\317\365\056\026\277\364\007\073\010</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\347\112\114\314\373\353\113\272\236\173\151\116\170\345\111\102</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\117\137\302\274\235\206\222\113\212\245\253\251\252\063\300\055</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\253\376\135\321\156\230\263\142\327\321\147\332\352\012\252\277</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\042\150\272\273\217\134\142\232\072\213\266\127\230\336\141\255</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\060\177\251\050\361\110\326\220\362\220\067\306\013\104\022\033</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\042\151\114\140\357\107\114\140\035\274\365\260\156\005\347\346</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\030\067\016\101\065\260\255\305\325\346\356\037\224\273\267\232</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\235\207\220\330\254\374\364\262\362\155\176\023\316\322\030\370</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\145\065\041\273\232\035\137\302\177\027\143\272\136\017\214\103</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\251\167\371\154\347\052\340\076\372\202\327\027\337\200\277\366</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\376\344\076\316\147\233\135\330\354\102\043\273\100\074\224\063</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\330\072\144\233\136\374\360\364\242\147\323\213\343\334\032\224</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\203\027\154\366\276\073\203\067\252\017\273\057\150\063\020\233</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\201\234\150\006\162\042\041\333\077\070\022\323\317\166\002\037</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\137\316\361\066\205\236\147\232\076\225\044\332\263\111\364\236</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\246\040\326\043\327\170\344\077\120\166\004\313\272\144\235\031</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\174\176\330\056\171\252\124\175\052\076\371\334\372\344\372\031</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\175\141\175\262\175\155\342\220\135\362\245\255\153\276\153\135</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\323\373\250\272\146\065\246\025\304\345\204\245\104\253\227\013</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\263\323\102\317\146\250\167\032\250\312\377\354\327\111\240\122</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\337\242\056\052\160\356\152\316\216\052\236\120\010\216\145\244</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\200\112\337\327\174\155\262\352\167\256\102\014\340\250\373\056</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\106\140\314\110\004\272\145\052\255\346\157\254\327\366\016\177</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\032\237\134\073\260\303\310\366\024\240\143\117\001\152\006\143</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\366\024\240\075\005\170\042\133\175\060\216\021\215\336\155\227</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\357\132\261\267\373\173\247\266\277\147\067\341\016\245\274\260</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\166\102\050\223\044\320\075\030\164\010\166\052\324\131\306\002</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\267\164\226\337\227\026\331\162\331\321\355\311\235\110\271\114</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\060\107\052\032\071\352\222\076\353\227\367\165\053\316\036\066</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\152\277\152\266\133\212\260\025\371\142\252\156\232\064\010\175</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\365\255\163\165\101\046\246\216\352\143\127\160\333\116\122\232</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\260\151\030\363\266\022\357\266\021\353\266\031\347\226\274\303</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\266\235\123\351\232\206\175\165\330\226\330\017\263\304\176\053</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\203\221\254\215\055\260\357\115\201\375\160\257\127\064\271\235</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\260\126\336\372\333\025\067\145\334\274\155\072\277\251\270\063</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\307\321\004\211\227\051\265\371\330\221\331\144\314\150\042\107</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\323\351\003\177\165\353\257\234\212\353\215\352\111\057\237\111</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\275\102\322\067\017\223\315\013\302\207\335\265\377\072\360\077</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\355\112\320\056\000\050\165\165\141\171\051\143\141\152\141\057</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/1.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/10.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/2.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/3.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/4.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/4.html
new file mode 100644
index 0000000..df1c99c
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\267\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\006\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\026\354\002\015\262\171\062\374\016\324\004\224\023\255</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\047\350\306\334\377\275\040\063\100\001\213\046\210\245\237\103</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\224\316\263\063\143\045\143\120\146\035\010\262\200\011\132\062</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\315\102\016\150\172\253\022\030\017\236\376\165\117\246\104\340</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\073\111\023\215\246\327\204\353\332\371\214\112\201\323\117\064</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\215\054\330\002\204\351\151\020\121\021\156\074\310\167\337\214</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\220\321\117\046\304\312\240\147\301\051\160\037\052\276\062\302</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\345\054\047\203\222\357\004\247\154\060\022\107\371\170\067\273</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\064\314\130\006\004\106\021\241\071\061\304\262\143\202\326\140</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\301\277\331\325\202\133\331\357\367\273\021\231\143\355\165\014</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\170\156\225\327\302\145\064\355\001\320\071\343\121\376\235\202</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\163\253\342\163\311\043\120\203\315\204\301\316\214\174\166\220</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\031\203\040\274\227\375\264\102\016\345\003\332\342\330\343\362</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\347\235\177\375\331\351\202\131\020\065\143\002\163\270\263\204</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\015\107\036\040\212\315\346\276\060\106\306\236\020\241\064\106</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\056\232\002\111\305\254\074\211\261\336\003\115\255\033\061\214</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\022\336\004\120\307\204\132\147\126\272\216\133\132\204\246\053</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\141\242\200\354\210\305\051\270\304\222\041\212\342\153\053\102</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\027\034\047\153\231\030\254\315\072\365\020\016\165\056\122\122</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\034\053\337\360\223\075\247\336\000\207\371\320\113\130\327\146</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\102\340\116\063\305\137\034\216\245\032\131\245\333\153\310\112</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\137\120\005\024\330\022\064\216\340\216\044\334\370\143\310\074</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\071\232\346\016\335\007\060\321\200\023\141\235\006\147\242\005</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\321\204\257\310\132\143\075\227\053\274\331\103\065\212\135\257</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\136\104\114\350\275\265\210\372\045\341\041\046\042\362\337\352</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\035\343\334\037\052\226\232\345\346\175\121\105\224\163\367\005</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\007\174\210\101\244\361\242\013\163\370\126\141\250\157\323\026</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\206\147\145\166\052\363\260\013\145\166\221\357\046\275\214\154</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\257\230\223\323\354\005\022\223\050\312\302\354\125\163\010\172</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\217\323\334\253\072\252\371\172\011\007\123\367\030\272\357\031</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\352\022\262\326\066\333\125\032\320\070\377\151\221\003\371\070</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\313\153\225\045\330\257\342\320\052\031\124\352\217\361\003\341</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\154\126\035\106\034\054\232\223\310\072\243\134\037\205\024\325</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\353\072\231\345\146\330\247\164\063\151\055\202\134\363\017\140</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\334\241\314\163\062\320\026\013\170\153\312\303\121\055\174\051</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\043\334\314\270\121\054\102\145\323\017\344\105\027\374\250\053</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\160\256\332\040\120\126\257\266\026\330\012\003\225\074\131\010</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\137\044\225\262\161\313\347\213\134\204\062\365\174\131\062\044</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\343\324\335\150\114\323\321\160\317\037\166\056\275\256\044\350</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\302\063\157\032\377\353\163\216\146\371\107\255\231\021\143\010</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\235\127\046\010\325\130\254\106\156\221\134\064\045\251\166\277</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\316\124\372\120\275\372\104\155\155\370\117\236\055\157\323\154</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\043\161\236\100\237\262\132\155\142\215\066\104\231\266\110\252</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\313\210\000\023\375\147\133\324\236\105\147\245\037\024\260\220</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\202\121\274\142\321\014\154\070\173\351\036\216\312\252\056\336</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\227\125\235\115\250\322\204\014\226\257\157\102\247\244\351\303</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\343\326\364\155\112\062\267\176\306\072\034\133\011\121\243\067</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\236\110\237\262\366\173\325\165\376\254\054\071\260\150\055\274</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\323\312\212\136\115\253\253\231\122\001\134\016\130\012\264\071</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\261\110\053\325\047\277\327\254\022\255\212\024\307\125\205\226</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\072\363\257\240\015\023\231\265\324\042\265\112\240\130\230\030</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\320\245\122\333\116\331\054\274\202\354\344\053\130\022\236\330</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\237\241\065\031\064\050\223\151\065\176\157\301\166\327\341\364</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\156\233\234\130\277\376\334\202\072\267\240\332\267\240\076\127</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\366\061\336\146\007\252\165\222\121\332\110\376\161\035\250\071</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\320\302\211\134\166\114\100\323\321\322\143\271\103\152\353\024</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\075\244\347\377\255\353\203\256\323\311\103\320\354\037\351\375</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\374\322\254\303\026\104\244\310\012\063\021\131\365\065\122\035</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\107\055\326\070\352\036\036\201\017\216\306\307\122\312\235\160</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\275\346\347\001\075\212\264\075\106\375\045\214\132\357\370\100</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\310\176\327\341\351\210\175\035\372\250\216\272\361\115\255\270</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\271\045\167\146\315\335\130\164\047\126\335\320\262\033\326\372</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\355\225\367\351\040\351\026\036\314\156\034\157\166\222\364\132</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\152\174\260\224\323\153\202\113\300\351\241\346\157\136\170\230</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\201\205\256\237\267\231\071\355\377\361\070\036\144\137\315\101</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\154\314\356\207\217\243\126\160\263\166\313\075\370\203\075\262</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\270\051\114\076\117\237\235\104\233\273\106\077\316\111\274\243</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\324\352\334\117\174\143\375\104\033\246\142\005\132\237\373\211</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\307\324\117\074\335\053\223\076\067\001\153\351\355\362\046\143</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\176\353\302\020\223\150\034\326\336\154\324\040\322\275\055\301</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\223\011\215\057\067\066\354\364\356\074\240\332\354\175\163\131</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\370\070\173\277\215\333\045\125\057\227\262\027\110\075\120\112</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\252\327\270\016\375\326\017\013\166\057\035\345\052\124\026\342</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\116\133\205\312\143\134\366\317\233\124\245\367\026\047\056\333</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\306\211\042\215\305\327\212\371\113\267\336\346\052\305\026\242</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\060\034\330\034\051\226\102\333\335\364\176\107\323\302\253\061</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\233\270\354\116\255\107\160\151\265\373\371\225\215\023\374\305</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\240\056\076\122\265\165\340\363\103\343\377\001\224\300\104\026</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\000\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/5.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/6.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/7.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/8.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/9.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/index.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/stats.html b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/style.css b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/index.html b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/index.html
new file mode 100644
index 0000000..833d984
--- /dev/null
+++ b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@aa862337b730</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Sun Jun 21 11:00:19 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-683370.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-683370.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-5c517c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-5c517c.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-5c517c.html b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-5c517c.html
new file mode 100644
index 0000000..fc6810e
--- /dev/null
+++ b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-5c517c.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-21-110019-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-683370.html b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-683370.html
new file mode 100644
index 0000000..fc74902
--- /dev/null
+++ b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/report-683370.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-21-110019-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/scanview.css b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/sorttable.js b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-21-110019-6106-1@9ead9ce3bdd6_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/0.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/0.html
new file mode 100644
index 0000000..6c4ed25
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\213\007\000\000\137\144\153\207\010\000\000\000\213\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\353\071\235\216\154\204</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\251\100\374\001\206\310\377\344\070\103\216\376\115\061\107\211</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\103\360\170\004\046\342\361\147\360\332\221\044\163\101\127\265</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\143\343\357\050\024\116\110\140\222\214\300\127\361\170\035\175</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\117\023\061\103\124\000\007\107\043\000\137\376\356\201\214\102</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\322\304\234\305\210\213\245\103\341\014\215\000\141\163\304\201</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\337\033\166\237\277\050\156\227\306\261\152\347\272\165\055\237</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\040\111\021\360\057\153\033\046\002\305\001\246\041\107\152\300</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\365\143\210\341\004\155\020\274\351\142\330\315\001\061\305\306</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\153\007\233\053\371\243\011\216\204\361\160\340\071\267\360\210</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\307\077\147\222\074\107\006\147\037\313\354\351\011\047\170\114</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\244\014\367\074\105\165\103\012\041\015\036\130\230\046\300\277</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\205\044\251\155\217\103\106\203\354\043\360\245\123\350\110\362</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\020\021\023\051\176\303\220\260\111\056\206\364\057\370\077\024</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\104\371\243\166\006\050\260\220\262\073\202\103\232\020\050\240</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\104\142\004\226\110\222\177\123\275\071\012\306\244\226\315\062</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\106\301\024\147\132\312\207\267\105\020\116\061\211\362\317\031</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\071\221\236\163\312\110\204\170\167\325\240\273\326\042\157\355</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\050\037\113\041\351\250\077\245\252\306\154\001\136\170\154\141</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\365\353\332\267\346\310\024\321\314\040\237\140\032\020\364\220</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\115\077\317\200\204\343\311\324\224\106\260\330\220\142\314\204</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\140\063\135\042\306\261\264\043\050\344\242\004\174\271\072\011</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\034\102\242\103\230\304\060\224\153\144\151\077\305\332\202\141</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\326\123\000\071\202\153\152\051\124\134\052\305\240\233\352\333</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\125\205\205\176\017\056\131\052\202\104\054\063\073\107\064\052</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\045\334\230\245\165\003\316\255\162\254\076\367\300\133\252\242</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\141\214\021\051\264\265\340\246\300\061\124\063\253\164\133\232</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\040\232\222\162\024\042\374\204\222\040\102\017\060\045\302\234</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\203\362\304\300\317\035\262\011\141\232\240\040\245\322\135\020</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\114\167\020\032\222\071\134\046\101\062\145\363\140\065\206\152</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\026\353\136\171\223\061\014\037\245\055\324\167\211\026\061\244</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\221\371\120\037\060\041\346\124\061\113\160\156\330\156\225\120</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\205\243\337\160\275\315\115\301\153\146\012\371\272\163\374\246</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\140\064\243\017\167\072\366\332\230\216\105\342\027\213\136\046</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\266\321\172\221\313\154\104\122\153\177\005\302\156\011\272\155</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\163\165\101\316\316\346\320\326\322\252\035\123\354\020\127\230</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\270\241\133\256\202\354\017\361\025\225\000\225\172\273\140\001</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\011\236\124\073\350\002\210\246\060\222\153\126\026\137\003\237</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\062\132\335\157\041\130\305\200\135\147\203\311\363\252\202\366</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\015\200\153\012\136\041\200\062\000\017\142\030\105\065\263\245</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\036\010\135\243\152\015\212\066\340\250\313\031\006\273\060\060</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\262\134\055\053\326\033\106\245\152\166\121\117\053\052\152\113</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\115\315\001\322\003\251\030\250\157\060\302\154\075\042\133\105</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\047\201\052\034\360\354\333\074\106\003\165\274\115\102\266\073</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\104\262\141\100\047\353\345\263\256\214\255\251\255\141\144\147</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\036\351\031\115\206\042\226\323\325\112\220\010\310\105\023\106</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\131\212\375\324\002\134\021\207\062\057\242\221\164\001\202\161</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\123\176\145\301\351\166\257\145\301\252\156\360\332\030\171\275</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\150\266\225\144\153\033\045\055\361\013\223\261\266\374\303\015</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\233\215\231\364\246\367\150\261\052\032\207\331\223\061\133\010</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\371\104\171\011\260\037\126\333\202\215\045\201\134\337\370\262</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\371\260\024\233\100\041\024\062\222\316\314\364\056\371\141\201</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\146\111\175\273\125\113\377\252\277\270\352\017\273\352\263\066</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\121\317\033\054\344\257\051\131\377\302\135\134\014\134\123\262</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\201\353\056\372\256\061\131\317\365\056\026\277\364\007\073\010</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\347\112\114\314\373\353\113\272\236\173\151\116\170\345\111\102</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\117\137\302\274\235\206\222\113\212\245\253\251\252\063\300\055</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\253\376\135\321\156\230\263\142\327\321\147\332\352\012\252\277</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\042\150\272\273\217\134\142\232\072\213\266\127\230\336\141\255</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\060\177\251\050\361\110\326\220\362\220\067\306\013\104\022\033</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\042\151\114\140\357\107\114\140\035\274\365\260\156\005\347\346</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\030\067\016\101\065\260\255\305\325\346\356\037\224\273\267\232</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\235\207\220\330\254\374\364\262\362\155\176\023\316\322\030\370</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\145\065\041\273\232\035\137\302\177\027\143\272\136\017\214\103</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\251\167\371\154\347\052\340\076\372\202\327\027\337\200\277\366</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\376\344\076\316\147\233\135\330\354\102\043\273\100\074\224\063</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\330\072\144\233\136\374\360\364\242\147\323\213\343\334\032\224</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\203\027\154\366\276\073\203\067\252\017\273\057\150\063\020\233</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\201\234\150\006\162\042\041\333\077\070\022\323\317\166\002\037</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\137\316\361\066\205\236\147\232\076\225\044\332\263\111\364\236</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\246\040\326\043\327\170\344\077\120\166\004\313\272\144\235\031</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\174\176\330\056\171\252\124\175\052\076\371\334\372\344\372\031</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\175\141\175\262\175\155\342\220\135\362\245\255\153\276\153\135</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\323\373\250\272\146\065\246\025\304\345\204\245\104\253\227\013</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\263\323\102\317\146\250\167\032\250\312\377\354\327\111\240\122</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\337\242\056\052\160\356\152\316\216\052\236\120\010\216\145\244</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\200\112\337\327\174\155\262\352\167\256\102\014\340\250\373\056</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\106\140\314\110\004\272\145\052\255\346\157\254\327\366\016\177</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\032\237\134\073\260\303\310\366\024\240\143\117\001\152\006\143</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\366\024\240\075\005\170\042\133\175\060\216\021\215\336\155\227</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\357\132\261\267\373\173\247\266\277\147\067\341\016\245\274\260</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\166\102\050\223\044\320\075\030\164\010\166\052\324\131\306\002</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\267\164\226\337\227\026\331\162\331\321\355\311\235\110\271\114</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\060\107\052\032\071\352\222\076\353\227\367\165\053\316\036\066</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\152\277\152\266\133\212\260\025\371\142\252\156\232\064\010\175</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\365\255\163\165\101\046\246\216\352\143\127\160\333\116\122\232</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\260\151\030\363\266\022\357\266\021\353\266\031\347\226\274\303</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\266\235\123\351\232\206\175\165\330\226\330\017\263\304\176\053</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\203\221\254\215\055\260\357\115\201\375\160\257\127\064\271\235</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\260\126\336\372\333\025\067\145\334\274\155\072\277\251\270\063</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\307\321\004\211\227\051\265\371\330\221\331\144\314\150\042\107</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\323\351\003\177\165\353\257\234\212\353\215\352\111\057\237\111</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\275\102\322\067\017\223\315\013\302\207\335\265\377\072\360\077</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\355\112\320\056\000\050\165\165\141\171\051\143\141\152\141\057</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/1.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/10.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/2.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/3.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/4.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/4.html
new file mode 100644
index 0000000..df1c99c
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\267\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\006\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\026\354\002\015\262\171\062\374\016\324\004\224\023\255</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\047\350\306\334\377\275\040\063\100\001\213\046\210\245\237\103</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\224\316\263\063\143\045\143\120\146\035\010\262\200\011\132\062</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\315\102\016\150\172\253\022\030\017\236\376\165\117\246\104\340</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\073\111\023\215\246\327\204\353\332\371\214\112\201\323\117\064</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\215\054\330\002\204\351\151\020\121\021\156\074\310\167\337\214</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\220\321\117\046\304\312\240\147\301\051\160\037\052\276\062\302</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\345\054\047\203\222\357\004\247\154\060\022\107\371\170\067\273</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\064\314\130\006\004\106\021\241\071\061\304\262\143\202\326\140</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\301\277\331\325\202\133\331\357\367\273\021\231\143\355\165\014</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\170\156\225\327\302\145\064\355\001\320\071\343\121\376\235\202</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\163\253\342\163\311\043\120\203\315\204\301\316\214\174\166\220</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\031\203\040\274\227\375\264\102\016\345\003\332\342\330\343\362</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\347\235\177\375\331\351\202\131\020\065\143\002\163\270\263\204</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\015\107\036\040\212\315\346\276\060\106\306\236\020\241\064\106</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\056\232\002\111\305\254\074\211\261\336\003\115\255\033\061\214</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\022\336\004\120\307\204\132\147\126\272\216\133\132\204\246\053</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\141\242\200\354\210\305\051\270\304\222\041\212\342\153\053\102</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\027\034\047\153\231\030\254\315\072\365\020\016\165\056\122\122</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\034\053\337\360\223\075\247\336\000\207\371\320\113\130\327\146</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\102\340\116\063\305\137\034\216\245\032\131\245\333\153\310\112</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\137\120\005\024\330\022\064\216\340\216\044\334\370\143\310\074</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\071\232\346\016\335\007\060\321\200\023\141\235\006\147\242\005</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\321\204\257\310\132\143\075\227\053\274\331\103\065\212\135\257</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\136\104\114\350\275\265\210\372\045\341\041\046\042\362\337\352</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\035\343\334\037\052\226\232\345\346\175\121\105\224\163\367\005</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\007\174\210\101\244\361\242\013\163\370\126\141\250\157\323\026</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\206\147\145\166\052\363\260\013\145\166\221\357\046\275\214\154</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\257\230\223\323\354\005\022\223\050\312\302\354\125\163\010\172</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\217\323\334\253\072\252\371\172\011\007\123\367\030\272\357\031</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\352\022\262\326\066\333\125\032\320\070\377\151\221\003\371\070</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\313\153\225\045\330\257\342\320\052\031\124\352\217\361\003\341</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\154\126\035\106\034\054\232\223\310\072\243\134\037\205\024\325</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\353\072\231\345\146\330\247\164\063\151\055\202\134\363\017\140</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\334\241\314\163\062\320\026\013\170\153\312\303\121\055\174\051</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\043\334\314\270\121\054\102\145\323\017\344\105\027\374\250\053</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\160\256\332\040\120\126\257\266\026\330\012\003\225\074\131\010</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\137\044\225\262\161\313\347\213\134\204\062\365\174\131\062\044</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\343\324\335\150\114\323\321\160\317\037\166\056\275\256\044\350</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\302\063\157\032\377\353\163\216\146\371\107\255\231\021\143\010</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\235\127\046\010\325\130\254\106\156\221\134\064\045\251\166\277</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\316\124\372\120\275\372\104\155\155\370\117\236\055\157\323\154</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\043\161\236\100\237\262\132\155\142\215\066\104\231\266\110\252</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\313\210\000\023\375\147\133\324\236\105\147\245\037\024\260\220</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\202\121\274\142\321\014\154\070\173\351\036\216\312\252\056\336</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\227\125\235\115\250\322\204\014\226\257\157\102\247\244\351\303</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\343\326\364\155\112\062\267\176\306\072\034\133\011\121\243\067</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\236\110\237\262\366\173\325\165\376\254\054\071\260\150\055\274</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\323\312\212\136\115\253\253\231\122\001\134\016\130\012\264\071</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\261\110\053\325\047\277\327\254\022\255\212\024\307\125\205\226</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\072\363\257\240\015\023\231\265\324\042\265\112\240\130\230\030</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\320\245\122\333\116\331\054\274\202\354\344\053\130\022\236\330</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\237\241\065\031\064\050\223\151\065\176\157\301\166\327\341\364</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\156\233\234\130\277\376\334\202\072\267\240\332\267\240\076\127</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\366\061\336\146\007\252\165\222\121\332\110\376\161\035\250\071</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\320\302\211\134\166\114\100\323\321\322\143\271\103\152\353\024</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\075\244\347\377\255\353\203\256\323\311\103\320\354\037\351\375</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\374\322\254\303\026\104\244\310\012\063\021\131\365\065\122\035</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\107\055\326\070\352\036\036\201\017\216\306\307\122\312\235\160</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\275\346\347\001\075\212\264\075\106\375\045\214\132\357\370\100</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\310\176\327\341\351\210\175\035\372\250\216\272\361\115\255\270</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\271\045\167\146\315\335\130\164\047\126\335\320\262\033\326\372</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\355\225\367\351\040\351\026\036\314\156\034\157\166\222\364\132</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\152\174\260\224\323\153\202\113\300\351\241\346\157\136\170\230</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\201\205\256\237\267\231\071\355\377\361\070\036\144\137\315\101</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\154\314\356\207\217\243\126\160\263\166\313\075\370\203\075\262</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\270\051\114\076\117\237\235\104\233\273\106\077\316\111\274\243</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\324\352\334\117\174\143\375\104\033\246\142\005\132\237\373\211</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\307\324\117\074\335\053\223\076\067\001\153\351\355\362\046\143</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\176\353\302\020\223\150\034\326\336\154\324\040\322\275\055\301</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\223\011\215\057\067\066\354\364\356\074\240\332\354\175\163\131</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\370\070\173\277\215\333\045\125\057\227\262\027\110\075\120\112</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\252\327\270\016\375\326\017\013\166\057\035\345\052\124\026\342</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\116\133\205\312\143\134\366\317\233\124\245\367\026\047\056\333</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\306\211\042\215\305\327\212\371\113\267\336\346\052\305\026\242</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\060\034\330\034\051\226\102\333\335\364\176\107\323\302\253\061</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\233\270\354\116\255\107\160\151\265\373\371\225\215\023\374\305</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\240\056\076\122\265\165\340\363\103\343\377\001\224\300\104\026</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\000\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/5.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/6.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/7.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/8.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/9.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/index.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/stats.html b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/style.css b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/index.html b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/index.html
new file mode 100644
index 0000000..75d9d3a
--- /dev/null
+++ b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@50a4f3b18c13</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Mon Jun 22 16:02:22 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-e45fe9.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-e45fe9.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-4457b5.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-4457b5.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-4457b5.html b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-4457b5.html
new file mode 100644
index 0000000..916093f
--- /dev/null
+++ b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-4457b5.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-22-160222-6107-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-e45fe9.html b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-e45fe9.html
new file mode 100644
index 0000000..407088c
--- /dev/null
+++ b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/report-e45fe9.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-22-160222-6107-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/scanview.css b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/sorttable.js b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/0.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/0.html
new file mode 100644
index 0000000..6c4ed25
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\213\007\000\000\137\144\153\207\010\000\000\000\213\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\353\071\235\216\154\204</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\251\100\374\001\206\310\377\344\070\103\216\376\115\061\107\211</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\103\360\170\004\046\342\361\147\360\332\221\044\163\101\127\265</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\143\343\357\050\024\116\110\140\222\214\300\127\361\170\035\175</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\117\023\061\103\124\000\007\107\043\000\137\376\356\201\214\102</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\322\304\234\305\210\213\245\103\341\014\215\000\141\163\304\201</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\337\033\166\237\277\050\156\227\306\261\152\347\272\165\055\237</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\040\111\021\360\057\153\033\046\002\305\001\246\041\107\152\300</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\365\143\210\341\004\155\020\274\351\142\330\315\001\061\305\306</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\153\007\233\053\371\243\011\216\204\361\160\340\071\267\360\210</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\307\077\147\222\074\107\006\147\037\313\354\351\011\047\170\114</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\244\014\367\074\105\165\103\012\041\015\036\130\230\046\300\277</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\205\044\251\155\217\103\106\203\354\043\360\245\123\350\110\362</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\020\021\023\051\176\303\220\260\111\056\206\364\057\370\077\024</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\104\371\243\166\006\050\260\220\262\073\202\103\232\020\050\240</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\104\142\004\226\110\222\177\123\275\071\012\306\244\226\315\062</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\106\301\024\147\132\312\207\267\105\020\116\061\211\362\317\031</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\071\221\236\163\312\110\204\170\167\325\240\273\326\042\157\355</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\050\037\113\041\351\250\077\245\252\306\154\001\136\170\154\141</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\365\353\332\267\346\310\024\321\314\040\237\140\032\020\364\220</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\115\077\317\200\204\343\311\324\224\106\260\330\220\142\314\204</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\140\063\135\042\306\261\264\043\050\344\242\004\174\271\072\011</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\034\102\242\103\230\304\060\224\153\144\151\077\305\332\202\141</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\326\123\000\071\202\153\152\051\124\134\052\305\240\233\352\333</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\125\205\205\176\017\056\131\052\202\104\054\063\073\107\064\052</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\045\334\230\245\165\003\316\255\162\254\076\367\300\133\252\242</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\141\214\021\051\264\265\340\246\300\061\124\063\253\164\133\232</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\040\232\222\162\024\042\374\204\222\040\102\017\060\045\302\234</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\203\362\304\300\317\035\262\011\141\232\240\040\245\322\135\020</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\114\167\020\032\222\071\134\046\101\062\145\363\140\065\206\152</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\026\353\136\171\223\061\014\037\245\055\324\167\211\026\061\244</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\221\371\120\037\060\041\346\124\061\113\160\156\330\156\225\120</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\205\243\337\160\275\315\115\301\153\146\012\371\272\163\374\246</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\140\064\243\017\167\072\366\332\230\216\105\342\027\213\136\046</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\266\321\172\221\313\154\104\122\153\177\005\302\156\011\272\155</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\163\165\101\316\316\346\320\326\322\252\035\123\354\020\127\230</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\270\241\133\256\202\354\017\361\025\225\000\225\172\273\140\001</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\011\236\124\073\350\002\210\246\060\222\153\126\026\137\003\237</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\062\132\335\157\041\130\305\200\135\147\203\311\363\252\202\366</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\015\200\153\012\136\041\200\062\000\017\142\030\105\065\263\245</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\036\010\135\243\152\015\212\066\340\250\313\031\006\273\060\060</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\262\134\055\053\326\033\106\245\152\166\121\117\053\052\152\113</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\115\315\001\322\003\251\030\250\157\060\302\154\075\042\133\105</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\047\201\052\034\360\354\333\074\106\003\165\274\115\102\266\073</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\104\262\141\100\047\353\345\263\256\214\255\251\255\141\144\147</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\036\351\031\115\206\042\226\323\325\112\220\010\310\105\023\106</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\131\212\375\324\002\134\021\207\062\057\242\221\164\001\202\161</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\123\176\145\301\351\166\257\145\301\252\156\360\332\030\171\275</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\150\266\225\144\153\033\045\055\361\013\223\261\266\374\303\015</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\233\215\231\364\246\367\150\261\052\032\207\331\223\061\133\010</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\371\104\171\011\260\037\126\333\202\215\045\201\134\337\370\262</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\371\260\024\233\100\041\024\062\222\316\314\364\056\371\141\201</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\146\111\175\273\125\113\377\252\277\270\352\017\273\352\263\066</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\121\317\033\054\344\257\051\131\377\302\135\134\014\134\123\262</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\201\353\056\372\256\061\131\317\365\056\026\277\364\007\073\010</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\347\112\114\314\373\353\113\272\236\173\151\116\170\345\111\102</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\117\137\302\274\235\206\222\113\212\245\253\251\252\063\300\055</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\253\376\135\321\156\230\263\142\327\321\147\332\352\012\252\277</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\042\150\272\273\217\134\142\232\072\213\266\127\230\336\141\255</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\060\177\251\050\361\110\326\220\362\220\067\306\013\104\022\033</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\042\151\114\140\357\107\114\140\035\274\365\260\156\005\347\346</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\030\067\016\101\065\260\255\305\325\346\356\037\224\273\267\232</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\235\207\220\330\254\374\364\262\362\155\176\023\316\322\030\370</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\145\065\041\273\232\035\137\302\177\027\143\272\136\017\214\103</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\251\167\371\154\347\052\340\076\372\202\327\027\337\200\277\366</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\376\344\076\316\147\233\135\330\354\102\043\273\100\074\224\063</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\330\072\144\233\136\374\360\364\242\147\323\213\343\334\032\224</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\203\027\154\366\276\073\203\067\252\017\273\057\150\063\020\233</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\201\234\150\006\162\042\041\333\077\070\022\323\317\166\002\037</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\137\316\361\066\205\236\147\232\076\225\044\332\263\111\364\236</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\246\040\326\043\327\170\344\077\120\166\004\313\272\144\235\031</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\174\176\330\056\171\252\124\175\052\076\371\334\372\344\372\031</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\175\141\175\262\175\155\342\220\135\362\245\255\153\276\153\135</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\323\373\250\272\146\065\246\025\304\345\204\245\104\253\227\013</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\263\323\102\317\146\250\167\032\250\312\377\354\327\111\240\122</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\337\242\056\052\160\356\152\316\216\052\236\120\010\216\145\244</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\200\112\337\327\174\155\262\352\167\256\102\014\340\250\373\056</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\106\140\314\110\004\272\145\052\255\346\157\254\327\366\016\177</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\032\237\134\073\260\303\310\366\024\240\143\117\001\152\006\143</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\366\024\240\075\005\170\042\133\175\060\216\021\215\336\155\227</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\357\132\261\267\373\173\247\266\277\147\067\341\016\245\274\260</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\166\102\050\223\044\320\075\030\164\010\166\052\324\131\306\002</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\267\164\226\337\227\026\331\162\331\321\355\311\235\110\271\114</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\060\107\052\032\071\352\222\076\353\227\367\165\053\316\036\066</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\152\277\152\266\133\212\260\025\371\142\252\156\232\064\010\175</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\365\255\163\165\101\046\246\216\352\143\127\160\333\116\122\232</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\260\151\030\363\266\022\357\266\021\353\266\031\347\226\274\303</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\266\235\123\351\232\206\175\165\330\226\330\017\263\304\176\053</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\203\221\254\215\055\260\357\115\201\375\160\257\127\064\271\235</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\260\126\336\372\333\025\067\145\334\274\155\072\277\251\270\063</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\307\321\004\211\227\051\265\371\330\221\331\144\314\150\042\107</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\323\351\003\177\165\353\257\234\212\353\215\352\111\057\237\111</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\275\102\322\067\017\223\315\013\302\207\335\265\377\072\360\077</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\355\112\320\056\000\050\165\165\141\171\051\143\141\152\141\057</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/1.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/10.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/2.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/3.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/4.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/4.html
new file mode 100644
index 0000000..df1c99c
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1720</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\267\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\006\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\026\354\002\015\262\171\062\374\016\324\004\224\023\255</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\047\350\306\334\377\275\040\063\100\001\213\046\210\245\237\103</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\224\316\263\063\143\045\143\120\146\035\010\262\200\011\132\062</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\315\102\016\150\172\253\022\030\017\236\376\165\117\246\104\340</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\073\111\023\215\246\327\204\353\332\371\214\112\201\323\117\064</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\215\054\330\002\204\351\151\020\121\021\156\074\310\167\337\214</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\220\321\117\046\304\312\240\147\301\051\160\037\052\276\062\302</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\345\054\047\203\222\357\004\247\154\060\022\107\371\170\067\273</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\064\314\130\006\004\106\021\241\071\061\304\262\143\202\326\140</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\301\277\331\325\202\133\331\357\367\273\021\231\143\355\165\014</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\170\156\225\327\302\145\064\355\001\320\071\343\121\376\235\202</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\163\253\342\163\311\043\120\203\315\204\301\316\214\174\166\220</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\031\203\040\274\227\375\264\102\016\345\003\332\342\330\343\362</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\347\235\177\375\331\351\202\131\020\065\143\002\163\270\263\204</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\015\107\036\040\212\315\346\276\060\106\306\236\020\241\064\106</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\056\232\002\111\305\254\074\211\261\336\003\115\255\033\061\214</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\022\336\004\120\307\204\132\147\126\272\216\133\132\204\246\053</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\141\242\200\354\210\305\051\270\304\222\041\212\342\153\053\102</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\027\034\047\153\231\030\254\315\072\365\020\016\165\056\122\122</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\034\053\337\360\223\075\247\336\000\207\371\320\113\130\327\146</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\102\340\116\063\305\137\034\216\245\032\131\245\333\153\310\112</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\137\120\005\024\330\022\064\216\340\216\044\334\370\143\310\074</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\071\232\346\016\335\007\060\321\200\023\141\235\006\147\242\005</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\321\204\257\310\132\143\075\227\053\274\331\103\065\212\135\257</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\136\104\114\350\275\265\210\372\045\341\041\046\042\362\337\352</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\035\343\334\037\052\226\232\345\346\175\121\105\224\163\367\005</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\007\174\210\101\244\361\242\013\163\370\126\141\250\157\323\026</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\206\147\145\166\052\363\260\013\145\166\221\357\046\275\214\154</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\257\230\223\323\354\005\022\223\050\312\302\354\125\163\010\172</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\217\323\334\253\072\252\371\172\011\007\123\367\030\272\357\031</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\352\022\262\326\066\333\125\032\320\070\377\151\221\003\371\070</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\313\153\225\045\330\257\342\320\052\031\124\352\217\361\003\341</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\154\126\035\106\034\054\232\223\310\072\243\134\037\205\024\325</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\353\072\231\345\146\330\247\164\063\151\055\202\134\363\017\140</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\334\241\314\163\062\320\026\013\170\153\312\303\121\055\174\051</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\043\334\314\270\121\054\102\145\323\017\344\105\027\374\250\053</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\160\256\332\040\120\126\257\266\026\330\012\003\225\074\131\010</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\137\044\225\262\161\313\347\213\134\204\062\365\174\131\062\044</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\343\324\335\150\114\323\321\160\317\037\166\056\275\256\044\350</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\302\063\157\032\377\353\163\216\146\371\107\255\231\021\143\010</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\235\127\046\010\325\130\254\106\156\221\134\064\045\251\166\277</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\316\124\372\120\275\372\104\155\155\370\117\236\055\157\323\154</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\043\161\236\100\237\262\132\155\142\215\066\104\231\266\110\252</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\313\210\000\023\375\147\133\324\236\105\147\245\037\024\260\220</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\202\121\274\142\321\014\154\070\173\351\036\216\312\252\056\336</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\227\125\235\115\250\322\204\014\226\257\157\102\247\244\351\303</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\343\326\364\155\112\062\267\176\306\072\034\133\011\121\243\067</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\236\110\237\262\366\173\325\165\376\254\054\071\260\150\055\274</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\323\312\212\136\115\253\253\231\122\001\134\016\130\012\264\071</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\261\110\053\325\047\277\327\254\022\255\212\024\307\125\205\226</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\072\363\257\240\015\023\231\265\324\042\265\112\240\130\230\030</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\320\245\122\333\116\331\054\274\202\354\344\053\130\022\236\330</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\237\241\065\031\064\050\223\151\065\176\157\301\166\327\341\364</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\156\233\234\130\277\376\334\202\072\267\240\332\267\240\076\127</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\366\061\336\146\007\252\165\222\121\332\110\376\161\035\250\071</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\320\302\211\134\166\114\100\323\321\322\143\271\103\152\353\024</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\075\244\347\377\255\353\203\256\323\311\103\320\354\037\351\375</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\374\322\254\303\026\104\244\310\012\063\021\131\365\065\122\035</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\107\055\326\070\352\036\036\201\017\216\306\307\122\312\235\160</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\275\346\347\001\075\212\264\075\106\375\045\214\132\357\370\100</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\310\176\327\341\351\210\175\035\372\250\216\272\361\115\255\270</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\271\045\167\146\315\335\130\164\047\126\335\320\262\033\326\372</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\355\225\367\351\040\351\026\036\314\156\034\157\166\222\364\132</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\152\174\260\224\323\153\202\113\300\351\241\346\157\136\170\230</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\201\205\256\237\267\231\071\355\377\361\070\036\144\137\315\101</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\154\314\356\207\217\243\126\160\263\166\313\075\370\203\075\262</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\270\051\114\076\117\237\235\104\233\273\106\077\316\111\274\243</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\324\352\334\117\174\143\375\104\033\246\142\005\132\237\373\211</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\307\324\117\074\335\053\223\076\067\001\153\351\355\362\046\143</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\176\353\302\020\223\150\034\326\336\154\324\040\322\275\055\301</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\223\011\215\057\067\066\354\364\356\074\240\332\354\175\163\131</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\370\070\173\277\215\333\045\125\057\227\262\027\110\075\120\112</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\252\327\270\016\375\326\017\013\166\057\035\345\052\124\026\342</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\116\133\205\312\143\134\366\317\233\124\245\367\026\047\056\333</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\306\211\042\215\305\327\212\371\113\267\336\346\052\305\026\242</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\060\034\330\034\051\226\102\333\335\364\176\107\323\302\253\061</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\233\270\354\116\255\107\160\151\265\373\371\225\215\023\374\305</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\240\056\076\122\265\165\340\363\103\343\377\001\224\300\104\026</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\000\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/5.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/6.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/7.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/8.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/9.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/index.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/stats.html b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/style.css b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-23-103637-6108-1@98f663d85b4e_master/index.html b/2020-06-23-103637-6108-1@98f663d85b4e_master/index.html
new file mode 100644
index 0000000..16a3da4
--- /dev/null
+++ b/2020-06-23-103637-6108-1@98f663d85b4e_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@b18fea608792</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Tue Jun 23 10:36:37 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-d927ba.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-d927ba.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-02f73c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-02f73c.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-23-103637-6108-1@98f663d85b4e_master/report-02f73c.html b/2020-06-23-103637-6108-1@98f663d85b4e_master/report-02f73c.html
new file mode 100644
index 0000000..598b1cf
--- /dev/null
+++ b/2020-06-23-103637-6108-1@98f663d85b4e_master/report-02f73c.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-103637-6108-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-103637-6108-1@98f663d85b4e_master/report-d927ba.html b/2020-06-23-103637-6108-1@98f663d85b4e_master/report-d927ba.html
new file mode 100644
index 0000000..29cda4b
--- /dev/null
+++ b/2020-06-23-103637-6108-1@98f663d85b4e_master/report-d927ba.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-103637-6108-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-103637-6108-1@98f663d85b4e_master/scanview.css b/2020-06-23-103637-6108-1@98f663d85b4e_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-23-103637-6108-1@98f663d85b4e_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-23-103637-6108-1@98f663d85b4e_master/sorttable.js b/2020-06-23-103637-6108-1@98f663d85b4e_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-23-103637-6108-1@98f663d85b4e_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/0.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/0.html
new file mode 100644
index 0000000..afdaa62
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\212\007\000\000\137\144\153\207\010\000\000\000\212\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\363\234\116\107\066\302</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\124\040\376\000\103\344\177\162\234\041\107\377\246\230\243\304</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\041\170\074\002\023\361\370\063\170\355\050\043\003\135\325\216</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\215\277\243\120\070\041\201\111\062\002\137\305\343\165\364\075</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\115\304\014\121\001\034\034\215\000\174\371\273\007\062\012\111</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\023\163\026\043\056\226\016\205\063\064\002\204\315\021\007\176</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\157\330\175\376\242\270\135\032\307\252\235\353\326\265\174\202</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\044\105\300\277\254\155\230\010\024\007\230\206\034\251\001\327</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\217\041\206\023\264\101\360\246\213\141\067\007\304\024\033\257</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\035\154\256\344\217\046\070\022\306\303\201\347\334\302\043\036</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\377\234\111\362\034\031\234\175\054\263\247\047\234\340\061\221</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\062\334\363\024\325\015\051\204\064\170\140\141\232\000\377\026</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\222\244\266\075\016\031\015\262\217\300\227\116\241\043\311\103</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\104\114\244\370\015\103\302\046\271\030\322\277\340\377\120\020</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\345\217\332\031\240\300\102\312\356\010\016\151\102\240\200\022</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\211\021\130\042\111\376\115\365\346\050\030\223\132\066\313\030</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\005\123\234\151\051\037\336\026\101\070\305\044\312\077\147\344</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\104\172\316\051\043\021\342\335\125\203\356\132\213\274\265\243</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\174\054\205\244\243\376\224\252\032\263\005\170\341\261\205\325</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\257\153\337\232\043\123\104\063\203\174\202\151\100\320\103\066</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\375\074\003\022\216\047\123\123\032\301\142\103\212\061\023\202</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\315\164\211\030\307\322\216\240\220\213\022\360\345\352\044\160</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\010\211\016\141\022\303\120\256\221\245\375\024\153\013\206\131</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\117\001\344\010\256\251\245\120\161\251\024\203\156\252\157\127</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\025\026\372\075\270\144\251\010\022\261\314\354\034\321\250\224</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\160\143\226\326\015\070\267\312\261\372\334\003\157\251\212\206</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\061\106\244\320\326\202\233\002\307\120\315\254\322\155\151\202</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\150\112\312\121\210\360\023\112\202\010\075\300\224\010\163\016</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\312\023\003\077\167\310\046\204\151\202\202\224\112\167\101\060</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\335\101\150\110\346\160\231\004\311\224\315\203\325\030\252\131</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\254\173\345\115\306\060\174\224\266\120\337\045\132\304\220\106</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\346\103\175\300\204\230\123\305\054\301\271\141\273\125\102\025</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\216\176\303\365\066\067\005\257\231\051\344\353\316\361\233\202</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\321\214\076\334\351\330\153\143\072\026\211\137\054\172\231\330</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\106\353\105\056\263\021\111\255\375\025\010\273\045\350\266\315</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\325\005\071\073\233\103\133\113\253\166\114\261\103\134\141\342</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\206\156\271\012\262\077\304\127\124\002\124\352\355\202\005\044</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\170\122\355\240\013\040\232\302\110\256\131\131\174\015\174\312</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\150\165\277\205\140\025\003\166\235\015\046\317\253\012\332\067</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\000\256\051\170\205\000\312\000\074\210\141\024\325\314\226\172</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\040\164\215\252\065\050\332\200\243\056\147\030\354\302\300\310</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\162\265\254\130\157\030\225\252\331\105\075\255\250\250\055\065</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\065\007\110\017\244\142\240\276\301\010\263\365\210\154\025\235</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\004\252\160\300\263\157\363\030\015\324\361\066\011\331\356\020</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\311\206\001\235\254\227\317\272\062\266\246\266\206\221\235\171</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\244\147\064\031\212\130\116\127\053\101\042\040\027\115\030\145</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\051\366\123\013\160\105\034\312\274\210\106\322\005\010\306\115</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\371\225\005\247\333\275\226\005\253\272\301\153\143\344\365\242</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\331\126\222\255\155\224\264\304\057\114\306\332\362\017\067\154</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\066\146\322\233\336\243\305\252\150\034\146\117\306\154\041\344</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\023\345\045\300\176\130\155\013\066\226\004\162\175\343\313\346</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\303\122\154\002\205\120\310\110\072\063\323\273\344\207\005\232</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\045\365\355\126\055\375\253\376\342\252\077\354\252\317\332\104</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\075\157\260\220\277\246\144\375\013\167\161\061\160\115\311\006</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\256\273\350\273\306\144\075\327\273\130\374\322\037\354\040\234</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\053\061\061\357\257\057\351\172\356\245\071\341\225\047\011\075</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\175\011\363\166\032\112\056\051\226\256\246\252\316\000\267\254</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\372\167\105\273\141\316\212\135\107\237\151\253\053\250\376\212</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\240\351\356\076\162\211\151\352\054\332\136\141\172\207\265\302</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\374\245\242\304\043\131\103\312\103\336\030\057\020\111\154\210</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\244\061\201\275\037\061\201\165\360\326\303\272\025\234\233\143</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\334\070\004\325\300\266\026\127\233\273\177\120\356\336\152\166</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\036\102\142\263\362\323\313\312\267\371\115\070\113\143\340\227</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\325\204\354\152\166\174\011\377\135\214\351\172\075\060\016\245</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\336\345\263\235\253\200\373\350\013\136\137\174\003\376\332\373</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\223\373\070\237\155\166\141\263\013\215\354\002\361\120\316\140</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\353\220\155\172\361\303\323\213\236\115\057\216\163\153\120\016</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\136\260\331\373\356\014\336\250\076\354\276\240\315\100\154\006</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\162\242\031\310\211\204\154\377\340\110\114\077\333\011\174\174</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\071\307\333\024\172\236\151\372\124\222\150\317\046\321\173\232</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\202\130\217\134\343\221\377\100\331\021\054\353\222\165\146\360</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\371\141\273\344\251\122\365\251\370\344\163\353\223\353\147\364</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\205\365\311\366\265\211\103\166\311\227\266\256\371\256\165\115</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\357\243\352\232\325\230\126\020\227\023\226\022\255\136\056\314</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\116\013\075\233\241\336\151\240\052\377\263\137\047\201\112\175</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\213\272\250\300\271\253\071\073\252\170\102\041\070\226\221\002</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\052\175\137\363\265\311\252\337\271\012\061\200\243\356\273\030</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\201\061\043\021\350\226\251\264\232\277\261\136\333\073\374\151</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\174\162\355\300\016\043\333\123\200\216\075\005\250\031\214\331</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\123\200\366\024\340\211\154\365\301\070\106\064\172\267\135\276</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\153\305\336\356\357\235\332\376\236\335\204\073\224\362\302\332</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\011\241\114\222\100\367\140\320\041\330\251\120\147\031\013\334</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\322\131\176\137\132\144\313\145\107\267\047\167\042\345\062\301</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\034\251\150\344\250\113\372\254\137\336\327\255\070\173\330\250</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\375\252\331\156\051\302\126\344\213\251\272\151\322\040\364\325</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\267\316\325\005\231\230\072\252\217\135\301\155\073\111\151\302</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\246\141\314\333\112\274\333\106\254\333\146\234\133\362\016\333</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\166\116\245\153\032\366\325\141\133\142\077\314\022\373\255\014</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\106\262\066\266\300\276\067\005\366\303\275\136\321\344\166\302</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\132\171\353\157\127\334\224\161\363\266\351\374\246\342\316\034</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\107\023\044\136\246\324\346\143\107\146\223\061\243\211\034\115</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\247\017\374\325\255\277\162\052\256\067\252\047\275\174\046\365</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\012\111\337\074\114\066\057\010\037\166\327\376\353\300\377\016</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\226\320\061\000\050\165\165\141\171\051\143\141\152\141\057\000</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/1.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/10.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/2.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/3.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/4.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/4.html
new file mode 100644
index 0000000..f1a853b
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\266\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\005\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\051\030\032\144\363\144\370\035\250\011\050\047\132\117</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\320\215\271\377\173\101\146\200\002\026\115\020\113\077\207\050</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\235\147\147\306\112\306\240\314\072\020\144\001\023\264\144\232</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\205\034\320\364\126\045\060\036\074\375\353\236\114\211\300\167</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\222\046\032\115\257\011\327\265\363\031\225\002\247\237\150\032</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\131\260\005\010\323\323\040\242\042\334\170\220\357\276\031\041</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\243\237\114\210\225\101\317\202\123\340\076\124\174\145\204\313</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\131\116\006\045\337\011\116\331\140\044\216\362\361\156\166\151</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\230\261\014\010\214\042\102\163\142\210\145\307\004\255\301\202</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\177\263\253\005\267\262\337\357\167\043\062\307\332\353\030\360</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\334\052\257\205\313\150\332\003\240\163\306\243\374\073\005\347</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\126\305\347\222\107\240\006\233\011\203\235\031\371\354\040\063</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\006\101\170\057\373\151\205\034\312\007\264\305\261\307\345\317</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\073\377\372\263\323\005\263\040\152\306\004\346\160\147\011\033</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\216\074\100\024\233\315\175\141\214\214\075\041\102\151\214\134</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\064\005\222\212\131\171\022\143\275\007\232\132\067\142\030\045</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\274\011\240\216\011\265\316\254\164\035\267\264\010\115\127\302</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\104\001\331\021\213\123\160\211\045\103\024\305\327\126\204\056</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\070\116\326\062\061\130\233\165\352\041\034\352\134\244\244\070</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\126\276\341\047\173\116\275\001\016\363\241\227\260\256\315\204</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\300\235\146\212\277\070\034\113\065\262\112\267\327\220\225\276</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\240\012\050\260\045\150\034\301\035\111\270\361\307\220\171\162</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\064\315\035\272\017\140\242\001\047\302\072\015\316\104\013\242</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\011\137\221\265\306\172\056\127\170\263\207\152\024\273\136\275</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\210\230\320\173\153\021\365\113\302\103\114\104\344\277\325\073</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\306\271\077\124\054\065\313\315\373\242\212\050\347\356\013\016</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\370\020\203\110\343\105\027\346\360\255\302\120\337\246\055\014</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\317\312\354\124\346\141\027\312\354\042\337\115\172\031\331\136</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\061\047\247\331\013\044\046\121\224\205\331\253\346\020\364\036</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\247\271\127\165\124\363\365\022\016\246\356\061\164\337\063\324</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\045\144\255\155\266\253\064\240\161\376\323\042\007\362\161\226</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\327\052\113\260\137\305\241\125\062\250\324\037\343\007\302\331</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\254\072\214\070\130\064\047\221\165\106\271\076\012\051\252\327</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\165\062\313\315\260\117\351\146\322\132\004\271\346\037\300\270</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\103\231\347\144\240\055\026\360\326\224\207\243\132\370\122\106</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\270\231\161\243\130\204\312\246\037\310\213\056\370\121\127\340</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\134\265\101\240\254\136\155\055\260\025\006\052\171\262\020\276</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\110\052\145\343\226\317\027\271\010\145\352\371\262\144\110\306</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\251\273\321\230\246\243\341\236\077\354\134\172\135\111\320\205</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\147\336\064\376\327\347\034\315\362\217\132\063\043\306\020\072</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\257\114\020\252\261\130\215\334\042\271\150\112\122\355\176\235</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\251\364\241\172\365\211\332\332\360\237\074\133\336\246\331\106</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\342\074\201\076\145\265\332\304\032\155\210\062\155\221\124\227</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\021\001\046\372\317\266\250\075\213\316\112\077\050\140\041\005</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\243\170\305\242\031\330\160\366\322\075\034\225\125\135\274\057</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\253\072\233\120\245\011\031\054\137\337\204\116\111\323\207\307</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\255\351\333\224\144\156\375\214\165\070\266\022\242\106\157\074</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\221\076\145\355\367\252\353\374\131\131\162\140\321\132\170\247</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\225\025\275\232\126\127\063\245\002\270\034\260\024\150\163\142</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\221\126\252\117\176\257\131\045\132\025\051\216\253\012\055\165</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\346\137\101\033\046\062\153\251\105\152\225\100\261\060\061\240</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\113\245\266\235\262\131\170\005\331\311\127\260\044\074\261\077</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\103\153\062\150\120\046\323\152\374\336\202\355\256\303\351\335</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\066\071\261\176\375\271\005\165\156\101\265\157\101\175\256\354</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\143\274\315\016\124\353\044\243\264\221\374\343\072\120\163\240</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\205\023\271\354\230\200\246\243\245\307\162\207\324\326\051\172</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\110\317\377\133\327\007\135\247\223\207\240\331\077\322\373\371</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\245\131\207\055\210\110\221\025\146\042\262\352\153\244\072\216</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\132\254\161\324\075\074\002\037\034\215\217\245\224\073\341\172</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\315\317\003\172\024\151\173\214\372\113\030\265\336\361\201\220</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\375\256\303\323\021\373\072\364\121\035\165\343\233\132\161\163</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\113\356\314\232\273\261\350\116\254\272\241\145\067\254\365\333</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\053\357\323\101\322\055\074\230\335\070\336\354\044\351\265\324</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\370\140\051\247\327\004\227\200\323\103\315\337\274\360\060\003</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\013\135\077\157\063\163\332\377\343\161\074\310\276\232\203\330</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\230\335\017\037\107\255\340\146\355\226\173\360\007\173\144\161</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\123\230\174\236\076\073\211\066\167\215\176\234\223\170\107\251</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\325\271\237\370\306\372\211\066\114\305\012\264\076\367\023\217</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\251\237\170\272\127\046\175\156\002\326\322\333\345\115\306\374</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\326\205\041\046\321\070\254\275\331\250\101\244\173\133\202\047</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\023\032\137\156\154\330\351\335\171\100\265\331\373\346\262\360</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\161\366\176\033\267\113\252\136\056\145\057\220\172\240\224\124</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\257\161\035\372\255\037\026\354\136\072\312\125\250\054\304\235</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\266\012\225\307\270\354\237\067\251\112\357\055\116\134\266\215</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\023\105\032\213\257\025\363\227\156\275\315\125\212\055\104\141</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\070\260\071\122\054\205\266\273\351\375\216\246\205\127\143\066</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\161\331\235\132\217\340\322\152\367\363\053\033\047\370\213\101</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\135\174\244\152\353\300\347\207\306\377\003\111\326\104\031\000</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/5.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/6.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/7.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/8.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/9.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/index.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/stats.html b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/style.css b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-23-103715-9086-cppcheck@98f663d85b4e_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-23-104123-6106-1@22c7f5486c17_master/index.html b/2020-06-23-104123-6106-1@22c7f5486c17_master/index.html
new file mode 100644
index 0000000..b3b2ef9
--- /dev/null
+++ b/2020-06-23-104123-6106-1@22c7f5486c17_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@5a5eb23f5906</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Tue Jun 23 10:41:23 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-064885.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-064885.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-302aa9.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-302aa9.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-23-104123-6106-1@22c7f5486c17_master/report-064885.html b/2020-06-23-104123-6106-1@22c7f5486c17_master/report-064885.html
new file mode 100644
index 0000000..e0b1e1a
--- /dev/null
+++ b/2020-06-23-104123-6106-1@22c7f5486c17_master/report-064885.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-104123-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-104123-6106-1@22c7f5486c17_master/report-302aa9.html b/2020-06-23-104123-6106-1@22c7f5486c17_master/report-302aa9.html
new file mode 100644
index 0000000..07d5782
--- /dev/null
+++ b/2020-06-23-104123-6106-1@22c7f5486c17_master/report-302aa9.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-104123-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-104123-6106-1@22c7f5486c17_master/scanview.css b/2020-06-23-104123-6106-1@22c7f5486c17_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-23-104123-6106-1@22c7f5486c17_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-23-104123-6106-1@22c7f5486c17_master/sorttable.js b/2020-06-23-104123-6106-1@22c7f5486c17_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-23-104123-6106-1@22c7f5486c17_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/0.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/0.html
new file mode 100644
index 0000000..afdaa62
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\212\007\000\000\137\144\153\207\010\000\000\000\212\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\363\234\116\107\066\302</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\124\040\376\000\103\344\177\162\234\041\107\377\246\230\243\304</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\041\170\074\002\023\361\370\063\170\355\050\043\003\135\325\216</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\215\277\243\120\070\041\201\111\062\002\137\305\343\165\364\075</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\115\304\014\121\001\034\034\215\000\174\371\273\007\062\012\111</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\023\163\026\043\056\226\016\205\063\064\002\204\315\021\007\176</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\157\330\175\376\242\270\135\032\307\252\235\353\326\265\174\202</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\044\105\300\277\254\155\230\010\024\007\230\206\034\251\001\327</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\217\041\206\023\264\101\360\246\213\141\067\007\304\024\033\257</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\035\154\256\344\217\046\070\022\306\303\201\347\334\302\043\036</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\377\234\111\362\034\031\234\175\054\263\247\047\234\340\061\221</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\062\334\363\024\325\015\051\204\064\170\140\141\232\000\377\026</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\222\244\266\075\016\031\015\262\217\300\227\116\241\043\311\103</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\104\114\244\370\015\103\302\046\271\030\322\277\340\377\120\020</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\345\217\332\031\240\300\102\312\356\010\016\151\102\240\200\022</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\211\021\130\042\111\376\115\365\346\050\030\223\132\066\313\030</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\005\123\234\151\051\037\336\026\101\070\305\044\312\077\147\344</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\104\172\316\051\043\021\342\335\125\203\356\132\213\274\265\243</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\174\054\205\244\243\376\224\252\032\263\005\170\341\261\205\325</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\257\153\337\232\043\123\104\063\203\174\202\151\100\320\103\066</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\375\074\003\022\216\047\123\123\032\301\142\103\212\061\023\202</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\315\164\211\030\307\322\216\240\220\213\022\360\345\352\044\160</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\010\211\016\141\022\303\120\256\221\245\375\024\153\013\206\131</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\117\001\344\010\256\251\245\120\161\251\024\203\156\252\157\127</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\025\026\372\075\270\144\251\010\022\261\314\354\034\321\250\224</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\160\143\226\326\015\070\267\312\261\372\334\003\157\251\212\206</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\061\106\244\320\326\202\233\002\307\120\315\254\322\155\151\202</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\150\112\312\121\210\360\023\112\202\010\075\300\224\010\163\016</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\312\023\003\077\167\310\046\204\151\202\202\224\112\167\101\060</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\335\101\150\110\346\160\231\004\311\224\315\203\325\030\252\131</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\254\173\345\115\306\060\174\224\266\120\337\045\132\304\220\106</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\346\103\175\300\204\230\123\305\054\301\271\141\273\125\102\025</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\216\176\303\365\066\067\005\257\231\051\344\353\316\361\233\202</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\321\214\076\334\351\330\153\143\072\026\211\137\054\172\231\330</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\106\353\105\056\263\021\111\255\375\025\010\273\045\350\266\315</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\325\005\071\073\233\103\133\113\253\166\114\261\103\134\141\342</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\206\156\271\012\262\077\304\127\124\002\124\352\355\202\005\044</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\170\122\355\240\013\040\232\302\110\256\131\131\174\015\174\312</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\150\165\277\205\140\025\003\166\235\015\046\317\253\012\332\067</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\000\256\051\170\205\000\312\000\074\210\141\024\325\314\226\172</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\040\164\215\252\065\050\332\200\243\056\147\030\354\302\300\310</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\162\265\254\130\157\030\225\252\331\105\075\255\250\250\055\065</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\065\007\110\017\244\142\240\276\301\010\263\365\210\154\025\235</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\004\252\160\300\263\157\363\030\015\324\361\066\011\331\356\020</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\311\206\001\235\254\227\317\272\062\266\246\266\206\221\235\171</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\244\147\064\031\212\130\116\127\053\101\042\040\027\115\030\145</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\051\366\123\013\160\105\034\312\274\210\106\322\005\010\306\115</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\371\225\005\247\333\275\226\005\253\272\301\153\143\344\365\242</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\331\126\222\255\155\224\264\304\057\114\306\332\362\017\067\154</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\066\146\322\233\336\243\305\252\150\034\146\117\306\154\041\344</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\023\345\045\300\176\130\155\013\066\226\004\162\175\343\313\346</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\303\122\154\002\205\120\310\110\072\063\323\273\344\207\005\232</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\045\365\355\126\055\375\253\376\342\252\077\354\252\317\332\104</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\075\157\260\220\277\246\144\375\013\167\161\061\160\115\311\006</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\256\273\350\273\306\144\075\327\273\130\374\322\037\354\040\234</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\053\061\061\357\257\057\351\172\356\245\071\341\225\047\011\075</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\175\011\363\166\032\112\056\051\226\256\246\252\316\000\267\254</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\372\167\105\273\141\316\212\135\107\237\151\253\053\250\376\212</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\240\351\356\076\162\211\151\352\054\332\136\141\172\207\265\302</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\374\245\242\304\043\131\103\312\103\336\030\057\020\111\154\210</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\244\061\201\275\037\061\201\165\360\326\303\272\025\234\233\143</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\334\070\004\325\300\266\026\127\233\273\177\120\356\336\152\166</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\036\102\142\263\362\323\313\312\267\371\115\070\113\143\340\227</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\325\204\354\152\166\174\011\377\135\214\351\172\075\060\016\245</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\336\345\263\235\253\200\373\350\013\136\137\174\003\376\332\373</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\223\373\070\237\155\166\141\263\013\215\354\002\361\120\316\140</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\353\220\155\172\361\303\323\213\236\115\057\216\163\153\120\016</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\136\260\331\373\356\014\336\250\076\354\276\240\315\100\154\006</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\162\242\031\310\211\204\154\377\340\110\114\077\333\011\174\174</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\071\307\333\024\172\236\151\372\124\222\150\317\046\321\173\232</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\202\130\217\134\343\221\377\100\331\021\054\353\222\165\146\360</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\371\141\273\344\251\122\365\251\370\344\163\353\223\353\147\364</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\205\365\311\366\265\211\103\166\311\227\266\256\371\256\165\115</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\357\243\352\232\325\230\126\020\227\023\226\022\255\136\056\314</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\116\013\075\233\241\336\151\240\052\377\263\137\047\201\112\175</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\213\272\250\300\271\253\071\073\252\170\102\041\070\226\221\002</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\052\175\137\363\265\311\252\337\271\012\061\200\243\356\273\030</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\201\061\043\021\350\226\251\264\232\277\261\136\333\073\374\151</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\174\162\355\300\016\043\333\123\200\216\075\005\250\031\214\331</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\123\200\366\024\340\211\154\365\301\070\106\064\172\267\135\276</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\153\305\336\356\357\235\332\376\236\335\204\073\224\362\302\332</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\011\241\114\222\100\367\140\320\041\330\251\120\147\031\013\334</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\322\131\176\137\132\144\313\145\107\267\047\167\042\345\062\301</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\034\251\150\344\250\113\372\254\137\336\327\255\070\173\330\250</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\375\252\331\156\051\302\126\344\213\251\272\151\322\040\364\325</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\267\316\325\005\231\230\072\252\217\135\301\155\073\111\151\302</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\246\141\314\333\112\274\333\106\254\333\146\234\133\362\016\333</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\166\116\245\153\032\366\325\141\133\142\077\314\022\373\255\014</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\106\262\066\266\300\276\067\005\366\303\275\136\321\344\166\302</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\132\171\353\157\127\334\224\161\363\266\351\374\246\342\316\034</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\107\023\044\136\246\324\346\143\107\146\223\061\243\211\034\115</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\247\017\374\325\255\277\162\052\256\067\252\047\275\174\046\365</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\012\111\337\074\114\066\057\010\037\166\327\376\353\300\377\016</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\226\320\061\000\050\165\165\141\171\051\143\141\152\141\057\000</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/1.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/10.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/2.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/3.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/4.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/4.html
new file mode 100644
index 0000000..f1a853b
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\266\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\005\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\051\030\032\144\363\144\370\035\250\011\050\047\132\117</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\320\215\271\377\173\101\146\200\002\026\115\020\113\077\207\050</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\235\147\147\306\112\306\240\314\072\020\144\001\023\264\144\232</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\205\034\320\364\126\045\060\036\074\375\353\236\114\211\300\167</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\222\046\032\115\257\011\327\265\363\031\225\002\247\237\150\032</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\131\260\005\010\323\323\040\242\042\334\170\220\357\276\031\041</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\243\237\114\210\225\101\317\202\123\340\076\124\174\145\204\313</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\131\116\006\045\337\011\116\331\140\044\216\362\361\156\166\151</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\230\261\014\010\214\042\102\163\142\210\145\307\004\255\301\202</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\177\263\253\005\267\262\337\357\167\043\062\307\332\353\030\360</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\334\052\257\205\313\150\332\003\240\163\306\243\374\073\005\347</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\126\305\347\222\107\240\006\233\011\203\235\031\371\354\040\063</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\006\101\170\057\373\151\205\034\312\007\264\305\261\307\345\317</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\073\377\372\263\323\005\263\040\152\306\004\346\160\147\011\033</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\216\074\100\024\233\315\175\141\214\214\075\041\102\151\214\134</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\064\005\222\212\131\171\022\143\275\007\232\132\067\142\030\045</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\274\011\240\216\011\265\316\254\164\035\267\264\010\115\127\302</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\104\001\331\021\213\123\160\211\045\103\024\305\327\126\204\056</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\070\116\326\062\061\130\233\165\352\041\034\352\134\244\244\070</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\126\276\341\047\173\116\275\001\016\363\241\227\260\256\315\204</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\300\235\146\212\277\070\034\113\065\262\112\267\327\220\225\276</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\240\012\050\260\045\150\034\301\035\111\270\361\307\220\171\162</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\064\315\035\272\017\140\242\001\047\302\072\015\316\104\013\242</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\011\137\221\265\306\172\056\127\170\263\207\152\024\273\136\275</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\210\230\320\173\153\021\365\113\302\103\114\104\344\277\325\073</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\306\271\077\124\054\065\313\315\373\242\212\050\347\356\013\016</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\370\020\203\110\343\105\027\346\360\255\302\120\337\246\055\014</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\317\312\354\124\346\141\027\312\354\042\337\115\172\031\331\136</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\061\047\247\331\013\044\046\121\224\205\331\253\346\020\364\036</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\247\271\127\165\124\363\365\022\016\246\356\061\164\337\063\324</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\045\144\255\155\266\253\064\240\161\376\323\042\007\362\161\226</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\327\052\113\260\137\305\241\125\062\250\324\037\343\007\302\331</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\254\072\214\070\130\064\047\221\165\106\271\076\012\051\252\327</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\165\062\313\315\260\117\351\146\322\132\004\271\346\037\300\270</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\103\231\347\144\240\055\026\360\326\224\207\243\132\370\122\106</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\270\231\161\243\130\204\312\246\037\310\213\056\370\121\127\340</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\134\265\101\240\254\136\155\055\260\025\006\052\171\262\020\276</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\110\052\145\343\226\317\027\271\010\145\352\371\262\144\110\306</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\251\273\321\230\246\243\341\236\077\354\134\172\135\111\320\205</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\147\336\064\376\327\347\034\315\362\217\132\063\043\306\020\072</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\257\114\020\252\261\130\215\334\042\271\150\112\122\355\176\235</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\251\364\241\172\365\211\332\332\360\237\074\133\336\246\331\106</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\342\074\201\076\145\265\332\304\032\155\210\062\155\221\124\227</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\021\001\046\372\317\266\250\075\213\316\112\077\050\140\041\005</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\243\170\305\242\031\330\160\366\322\075\034\225\125\135\274\057</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\253\072\233\120\245\011\031\054\137\337\204\116\111\323\207\307</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\255\351\333\224\144\156\375\214\165\070\266\022\242\106\157\074</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\221\076\145\355\367\252\353\374\131\131\162\140\321\132\170\247</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\225\025\275\232\126\127\063\245\002\270\034\260\024\150\163\142</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\221\126\252\117\176\257\131\045\132\025\051\216\253\012\055\165</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\346\137\101\033\046\062\153\251\105\152\225\100\261\060\061\240</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\113\245\266\235\262\131\170\005\331\311\127\260\044\074\261\077</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\103\153\062\150\120\046\323\152\374\336\202\355\256\303\351\335</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\066\071\261\176\375\271\005\165\156\101\265\157\101\175\256\354</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\143\274\315\016\124\353\044\243\264\221\374\343\072\120\163\240</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\205\023\271\354\230\200\246\243\245\307\162\207\324\326\051\172</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\110\317\377\133\327\007\135\247\223\207\240\331\077\322\373\371</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\245\131\207\055\210\110\221\025\146\042\262\352\153\244\072\216</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\132\254\161\324\075\074\002\037\034\215\217\245\224\073\341\172</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\315\317\003\172\024\151\173\214\372\113\030\265\336\361\201\220</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\375\256\303\323\021\373\072\364\121\035\165\343\233\132\161\163</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\113\356\314\232\273\261\350\116\254\272\241\145\067\254\365\333</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\053\357\323\101\322\055\074\230\335\070\336\354\044\351\265\324</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\370\140\051\247\327\004\227\200\323\103\315\337\274\360\060\003</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\013\135\077\157\063\163\332\377\343\161\074\310\276\232\203\330</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\230\335\017\037\107\255\340\146\355\226\173\360\007\173\144\161</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\123\230\174\236\076\073\211\066\167\215\176\234\223\170\107\251</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\325\271\237\370\306\372\211\066\114\305\012\264\076\367\023\217</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\251\237\170\272\127\046\175\156\002\326\322\333\345\115\306\374</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\326\205\041\046\321\070\254\275\331\250\101\244\173\133\202\047</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\023\032\137\156\154\330\351\335\171\100\265\331\373\346\262\360</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\161\366\176\033\267\113\252\136\056\145\057\220\172\240\224\124</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\257\161\035\372\255\037\026\354\136\072\312\125\250\054\304\235</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\266\012\225\307\270\354\237\067\251\112\357\055\116\134\266\215</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\023\105\032\213\257\025\363\227\156\275\315\125\212\055\104\141</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\070\260\071\122\054\205\266\273\351\375\216\246\205\127\143\066</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\161\331\235\132\217\340\322\152\367\363\053\033\047\370\213\101</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\135\174\244\152\353\300\347\207\306\377\003\111\326\104\031\000</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/5.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/6.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/7.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/8.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/9.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/index.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/stats.html b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/style.css b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-23-104158-2134-cppcheck@22c7f5486c17_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-23-115720-6106-1@274d435c1798_master/index.html b/2020-06-23-115720-6106-1@274d435c1798_master/index.html
new file mode 100644
index 0000000..6a6692c
--- /dev/null
+++ b/2020-06-23-115720-6106-1@274d435c1798_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@b443b85b1d19</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Tue Jun 23 11:57:20 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-b8d7d4.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-b8d7d4.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-61181b.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-61181b.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-23-115720-6106-1@274d435c1798_master/report-61181b.html b/2020-06-23-115720-6106-1@274d435c1798_master/report-61181b.html
new file mode 100644
index 0000000..c1acfc6
--- /dev/null
+++ b/2020-06-23-115720-6106-1@274d435c1798_master/report-61181b.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-115720-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-115720-6106-1@274d435c1798_master/report-b8d7d4.html b/2020-06-23-115720-6106-1@274d435c1798_master/report-b8d7d4.html
new file mode 100644
index 0000000..0f83ed0
--- /dev/null
+++ b/2020-06-23-115720-6106-1@274d435c1798_master/report-b8d7d4.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-115720-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-115720-6106-1@274d435c1798_master/scanview.css b/2020-06-23-115720-6106-1@274d435c1798_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-23-115720-6106-1@274d435c1798_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-23-115720-6106-1@274d435c1798_master/sorttable.js b/2020-06-23-115720-6106-1@274d435c1798_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-23-115720-6106-1@274d435c1798_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/0.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/0.html
new file mode 100644
index 0000000..afdaa62
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\212\007\000\000\137\144\153\207\010\000\000\000\212\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\363\234\116\107\066\302</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\124\040\376\000\103\344\177\162\234\041\107\377\246\230\243\304</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\041\170\074\002\023\361\370\063\170\355\050\043\003\135\325\216</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\215\277\243\120\070\041\201\111\062\002\137\305\343\165\364\075</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\115\304\014\121\001\034\034\215\000\174\371\273\007\062\012\111</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\023\163\026\043\056\226\016\205\063\064\002\204\315\021\007\176</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\157\330\175\376\242\270\135\032\307\252\235\353\326\265\174\202</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\044\105\300\277\254\155\230\010\024\007\230\206\034\251\001\327</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\217\041\206\023\264\101\360\246\213\141\067\007\304\024\033\257</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\035\154\256\344\217\046\070\022\306\303\201\347\334\302\043\036</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\377\234\111\362\034\031\234\175\054\263\247\047\234\340\061\221</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\062\334\363\024\325\015\051\204\064\170\140\141\232\000\377\026</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\222\244\266\075\016\031\015\262\217\300\227\116\241\043\311\103</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\104\114\244\370\015\103\302\046\271\030\322\277\340\377\120\020</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\345\217\332\031\240\300\102\312\356\010\016\151\102\240\200\022</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\211\021\130\042\111\376\115\365\346\050\030\223\132\066\313\030</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\005\123\234\151\051\037\336\026\101\070\305\044\312\077\147\344</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\104\172\316\051\043\021\342\335\125\203\356\132\213\274\265\243</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\174\054\205\244\243\376\224\252\032\263\005\170\341\261\205\325</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\257\153\337\232\043\123\104\063\203\174\202\151\100\320\103\066</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\375\074\003\022\216\047\123\123\032\301\142\103\212\061\023\202</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\315\164\211\030\307\322\216\240\220\213\022\360\345\352\044\160</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\010\211\016\141\022\303\120\256\221\245\375\024\153\013\206\131</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\117\001\344\010\256\251\245\120\161\251\024\203\156\252\157\127</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\025\026\372\075\270\144\251\010\022\261\314\354\034\321\250\224</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\160\143\226\326\015\070\267\312\261\372\334\003\157\251\212\206</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\061\106\244\320\326\202\233\002\307\120\315\254\322\155\151\202</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\150\112\312\121\210\360\023\112\202\010\075\300\224\010\163\016</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\312\023\003\077\167\310\046\204\151\202\202\224\112\167\101\060</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\335\101\150\110\346\160\231\004\311\224\315\203\325\030\252\131</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\254\173\345\115\306\060\174\224\266\120\337\045\132\304\220\106</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\346\103\175\300\204\230\123\305\054\301\271\141\273\125\102\025</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\216\176\303\365\066\067\005\257\231\051\344\353\316\361\233\202</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\321\214\076\334\351\330\153\143\072\026\211\137\054\172\231\330</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\106\353\105\056\263\021\111\255\375\025\010\273\045\350\266\315</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\325\005\071\073\233\103\133\113\253\166\114\261\103\134\141\342</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\206\156\271\012\262\077\304\127\124\002\124\352\355\202\005\044</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\170\122\355\240\013\040\232\302\110\256\131\131\174\015\174\312</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\150\165\277\205\140\025\003\166\235\015\046\317\253\012\332\067</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\000\256\051\170\205\000\312\000\074\210\141\024\325\314\226\172</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\040\164\215\252\065\050\332\200\243\056\147\030\354\302\300\310</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\162\265\254\130\157\030\225\252\331\105\075\255\250\250\055\065</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\065\007\110\017\244\142\240\276\301\010\263\365\210\154\025\235</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\004\252\160\300\263\157\363\030\015\324\361\066\011\331\356\020</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\311\206\001\235\254\227\317\272\062\266\246\266\206\221\235\171</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\244\147\064\031\212\130\116\127\053\101\042\040\027\115\030\145</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\051\366\123\013\160\105\034\312\274\210\106\322\005\010\306\115</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\371\225\005\247\333\275\226\005\253\272\301\153\143\344\365\242</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\331\126\222\255\155\224\264\304\057\114\306\332\362\017\067\154</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\066\146\322\233\336\243\305\252\150\034\146\117\306\154\041\344</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\023\345\045\300\176\130\155\013\066\226\004\162\175\343\313\346</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\303\122\154\002\205\120\310\110\072\063\323\273\344\207\005\232</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\045\365\355\126\055\375\253\376\342\252\077\354\252\317\332\104</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\075\157\260\220\277\246\144\375\013\167\161\061\160\115\311\006</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\256\273\350\273\306\144\075\327\273\130\374\322\037\354\040\234</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\053\061\061\357\257\057\351\172\356\245\071\341\225\047\011\075</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\175\011\363\166\032\112\056\051\226\256\246\252\316\000\267\254</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\372\167\105\273\141\316\212\135\107\237\151\253\053\250\376\212</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\240\351\356\076\162\211\151\352\054\332\136\141\172\207\265\302</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\374\245\242\304\043\131\103\312\103\336\030\057\020\111\154\210</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\244\061\201\275\037\061\201\165\360\326\303\272\025\234\233\143</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\334\070\004\325\300\266\026\127\233\273\177\120\356\336\152\166</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\036\102\142\263\362\323\313\312\267\371\115\070\113\143\340\227</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\325\204\354\152\166\174\011\377\135\214\351\172\075\060\016\245</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\336\345\263\235\253\200\373\350\013\136\137\174\003\376\332\373</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\223\373\070\237\155\166\141\263\013\215\354\002\361\120\316\140</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\353\220\155\172\361\303\323\213\236\115\057\216\163\153\120\016</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\136\260\331\373\356\014\336\250\076\354\276\240\315\100\154\006</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\162\242\031\310\211\204\154\377\340\110\114\077\333\011\174\174</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\071\307\333\024\172\236\151\372\124\222\150\317\046\321\173\232</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\202\130\217\134\343\221\377\100\331\021\054\353\222\165\146\360</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\371\141\273\344\251\122\365\251\370\344\163\353\223\353\147\364</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\205\365\311\366\265\211\103\166\311\227\266\256\371\256\165\115</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\357\243\352\232\325\230\126\020\227\023\226\022\255\136\056\314</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\116\013\075\233\241\336\151\240\052\377\263\137\047\201\112\175</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\213\272\250\300\271\253\071\073\252\170\102\041\070\226\221\002</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\052\175\137\363\265\311\252\337\271\012\061\200\243\356\273\030</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\201\061\043\021\350\226\251\264\232\277\261\136\333\073\374\151</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\174\162\355\300\016\043\333\123\200\216\075\005\250\031\214\331</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\123\200\366\024\340\211\154\365\301\070\106\064\172\267\135\276</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\153\305\336\356\357\235\332\376\236\335\204\073\224\362\302\332</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\011\241\114\222\100\367\140\320\041\330\251\120\147\031\013\334</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\322\131\176\137\132\144\313\145\107\267\047\167\042\345\062\301</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\034\251\150\344\250\113\372\254\137\336\327\255\070\173\330\250</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\375\252\331\156\051\302\126\344\213\251\272\151\322\040\364\325</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\267\316\325\005\231\230\072\252\217\135\301\155\073\111\151\302</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\246\141\314\333\112\274\333\106\254\333\146\234\133\362\016\333</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\166\116\245\153\032\366\325\141\133\142\077\314\022\373\255\014</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\106\262\066\266\300\276\067\005\366\303\275\136\321\344\166\302</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\132\171\353\157\127\334\224\161\363\266\351\374\246\342\316\034</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\107\023\044\136\246\324\346\143\107\146\223\061\243\211\034\115</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\247\017\374\325\255\277\162\052\256\067\252\047\275\174\046\365</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\012\111\337\074\114\066\057\010\037\166\327\376\353\300\377\016</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\226\320\061\000\050\165\165\141\171\051\143\141\152\141\057\000</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/1.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/10.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/2.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/3.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/4.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/4.html
new file mode 100644
index 0000000..f1a853b
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\266\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\005\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\051\030\032\144\363\144\370\035\250\011\050\047\132\117</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\320\215\271\377\173\101\146\200\002\026\115\020\113\077\207\050</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\235\147\147\306\112\306\240\314\072\020\144\001\023\264\144\232</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\205\034\320\364\126\045\060\036\074\375\353\236\114\211\300\167</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\222\046\032\115\257\011\327\265\363\031\225\002\247\237\150\032</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\131\260\005\010\323\323\040\242\042\334\170\220\357\276\031\041</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\243\237\114\210\225\101\317\202\123\340\076\124\174\145\204\313</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\131\116\006\045\337\011\116\331\140\044\216\362\361\156\166\151</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\230\261\014\010\214\042\102\163\142\210\145\307\004\255\301\202</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\177\263\253\005\267\262\337\357\167\043\062\307\332\353\030\360</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\334\052\257\205\313\150\332\003\240\163\306\243\374\073\005\347</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\126\305\347\222\107\240\006\233\011\203\235\031\371\354\040\063</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\006\101\170\057\373\151\205\034\312\007\264\305\261\307\345\317</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\073\377\372\263\323\005\263\040\152\306\004\346\160\147\011\033</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\216\074\100\024\233\315\175\141\214\214\075\041\102\151\214\134</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\064\005\222\212\131\171\022\143\275\007\232\132\067\142\030\045</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\274\011\240\216\011\265\316\254\164\035\267\264\010\115\127\302</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\104\001\331\021\213\123\160\211\045\103\024\305\327\126\204\056</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\070\116\326\062\061\130\233\165\352\041\034\352\134\244\244\070</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\126\276\341\047\173\116\275\001\016\363\241\227\260\256\315\204</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\300\235\146\212\277\070\034\113\065\262\112\267\327\220\225\276</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\240\012\050\260\045\150\034\301\035\111\270\361\307\220\171\162</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\064\315\035\272\017\140\242\001\047\302\072\015\316\104\013\242</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\011\137\221\265\306\172\056\127\170\263\207\152\024\273\136\275</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\210\230\320\173\153\021\365\113\302\103\114\104\344\277\325\073</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\306\271\077\124\054\065\313\315\373\242\212\050\347\356\013\016</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\370\020\203\110\343\105\027\346\360\255\302\120\337\246\055\014</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\317\312\354\124\346\141\027\312\354\042\337\115\172\031\331\136</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\061\047\247\331\013\044\046\121\224\205\331\253\346\020\364\036</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\247\271\127\165\124\363\365\022\016\246\356\061\164\337\063\324</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\045\144\255\155\266\253\064\240\161\376\323\042\007\362\161\226</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\327\052\113\260\137\305\241\125\062\250\324\037\343\007\302\331</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\254\072\214\070\130\064\047\221\165\106\271\076\012\051\252\327</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\165\062\313\315\260\117\351\146\322\132\004\271\346\037\300\270</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\103\231\347\144\240\055\026\360\326\224\207\243\132\370\122\106</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\270\231\161\243\130\204\312\246\037\310\213\056\370\121\127\340</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\134\265\101\240\254\136\155\055\260\025\006\052\171\262\020\276</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\110\052\145\343\226\317\027\271\010\145\352\371\262\144\110\306</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\251\273\321\230\246\243\341\236\077\354\134\172\135\111\320\205</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\147\336\064\376\327\347\034\315\362\217\132\063\043\306\020\072</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\257\114\020\252\261\130\215\334\042\271\150\112\122\355\176\235</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\251\364\241\172\365\211\332\332\360\237\074\133\336\246\331\106</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\342\074\201\076\145\265\332\304\032\155\210\062\155\221\124\227</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\021\001\046\372\317\266\250\075\213\316\112\077\050\140\041\005</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\243\170\305\242\031\330\160\366\322\075\034\225\125\135\274\057</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\253\072\233\120\245\011\031\054\137\337\204\116\111\323\207\307</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\255\351\333\224\144\156\375\214\165\070\266\022\242\106\157\074</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\221\076\145\355\367\252\353\374\131\131\162\140\321\132\170\247</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\225\025\275\232\126\127\063\245\002\270\034\260\024\150\163\142</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\221\126\252\117\176\257\131\045\132\025\051\216\253\012\055\165</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\346\137\101\033\046\062\153\251\105\152\225\100\261\060\061\240</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\113\245\266\235\262\131\170\005\331\311\127\260\044\074\261\077</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\103\153\062\150\120\046\323\152\374\336\202\355\256\303\351\335</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\066\071\261\176\375\271\005\165\156\101\265\157\101\175\256\354</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\143\274\315\016\124\353\044\243\264\221\374\343\072\120\163\240</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\205\023\271\354\230\200\246\243\245\307\162\207\324\326\051\172</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\110\317\377\133\327\007\135\247\223\207\240\331\077\322\373\371</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\245\131\207\055\210\110\221\025\146\042\262\352\153\244\072\216</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\132\254\161\324\075\074\002\037\034\215\217\245\224\073\341\172</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\315\317\003\172\024\151\173\214\372\113\030\265\336\361\201\220</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\375\256\303\323\021\373\072\364\121\035\165\343\233\132\161\163</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\113\356\314\232\273\261\350\116\254\272\241\145\067\254\365\333</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\053\357\323\101\322\055\074\230\335\070\336\354\044\351\265\324</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\370\140\051\247\327\004\227\200\323\103\315\337\274\360\060\003</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\013\135\077\157\063\163\332\377\343\161\074\310\276\232\203\330</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\230\335\017\037\107\255\340\146\355\226\173\360\007\173\144\161</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\123\230\174\236\076\073\211\066\167\215\176\234\223\170\107\251</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\325\271\237\370\306\372\211\066\114\305\012\264\076\367\023\217</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\251\237\170\272\127\046\175\156\002\326\322\333\345\115\306\374</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\326\205\041\046\321\070\254\275\331\250\101\244\173\133\202\047</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\023\032\137\156\154\330\351\335\171\100\265\331\373\346\262\360</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\161\366\176\033\267\113\252\136\056\145\057\220\172\240\224\124</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\257\161\035\372\255\037\026\354\136\072\312\125\250\054\304\235</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\266\012\225\307\270\354\237\067\251\112\357\055\116\134\266\215</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\023\105\032\213\257\025\363\227\156\275\315\125\212\055\104\141</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\070\260\071\122\054\205\266\273\351\375\216\246\205\127\143\066</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\161\331\235\132\217\340\322\152\367\363\053\033\047\370\213\101</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\135\174\244\152\353\300\347\207\306\377\003\111\326\104\031\000</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/5.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/6.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/7.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/8.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/9.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/index.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/stats.html b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-115757-9686-cppcheck@274d435c1798_master/style.css b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-23-115757-9686-cppcheck@274d435c1798_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/index.html b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/index.html
new file mode 100644
index 0000000..df8a60e
--- /dev/null
+++ b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@8d5c901d8bac</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Tue Jun 23 12:02:16 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-3c397a.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-3c397a.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-0125a7.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-0125a7.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-0125a7.html b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-0125a7.html
new file mode 100644
index 0000000..b206450
--- /dev/null
+++ b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-0125a7.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-120216-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-3c397a.html b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-3c397a.html
new file mode 100644
index 0000000..d254870
--- /dev/null
+++ b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/report-3c397a.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-23-120216-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/scanview.css b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/sorttable.js b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-23-120216-6106-1@274d435c1798_v1.25.0/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/0.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/0.html
new file mode 100644
index 0000000..afdaa62
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\212\007\000\000\137\144\153\207\010\000\000\000\212\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\363\234\116\107\066\302</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\124\040\376\000\103\344\177\162\234\041\107\377\246\230\243\304</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\041\170\074\002\023\361\370\063\170\355\050\043\003\135\325\216</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\215\277\243\120\070\041\201\111\062\002\137\305\343\165\364\075</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\115\304\014\121\001\034\034\215\000\174\371\273\007\062\012\111</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\023\163\026\043\056\226\016\205\063\064\002\204\315\021\007\176</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\157\330\175\376\242\270\135\032\307\252\235\353\326\265\174\202</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\044\105\300\277\254\155\230\010\024\007\230\206\034\251\001\327</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\217\041\206\023\264\101\360\246\213\141\067\007\304\024\033\257</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\035\154\256\344\217\046\070\022\306\303\201\347\334\302\043\036</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\377\234\111\362\034\031\234\175\054\263\247\047\234\340\061\221</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\062\334\363\024\325\015\051\204\064\170\140\141\232\000\377\026</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\222\244\266\075\016\031\015\262\217\300\227\116\241\043\311\103</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\104\114\244\370\015\103\302\046\271\030\322\277\340\377\120\020</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\345\217\332\031\240\300\102\312\356\010\016\151\102\240\200\022</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\211\021\130\042\111\376\115\365\346\050\030\223\132\066\313\030</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\005\123\234\151\051\037\336\026\101\070\305\044\312\077\147\344</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\104\172\316\051\043\021\342\335\125\203\356\132\213\274\265\243</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\174\054\205\244\243\376\224\252\032\263\005\170\341\261\205\325</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\257\153\337\232\043\123\104\063\203\174\202\151\100\320\103\066</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\375\074\003\022\216\047\123\123\032\301\142\103\212\061\023\202</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\315\164\211\030\307\322\216\240\220\213\022\360\345\352\044\160</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\010\211\016\141\022\303\120\256\221\245\375\024\153\013\206\131</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\117\001\344\010\256\251\245\120\161\251\024\203\156\252\157\127</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\025\026\372\075\270\144\251\010\022\261\314\354\034\321\250\224</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\160\143\226\326\015\070\267\312\261\372\334\003\157\251\212\206</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\061\106\244\320\326\202\233\002\307\120\315\254\322\155\151\202</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\150\112\312\121\210\360\023\112\202\010\075\300\224\010\163\016</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\312\023\003\077\167\310\046\204\151\202\202\224\112\167\101\060</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\335\101\150\110\346\160\231\004\311\224\315\203\325\030\252\131</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\254\173\345\115\306\060\174\224\266\120\337\045\132\304\220\106</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\346\103\175\300\204\230\123\305\054\301\271\141\273\125\102\025</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\216\176\303\365\066\067\005\257\231\051\344\353\316\361\233\202</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\321\214\076\334\351\330\153\143\072\026\211\137\054\172\231\330</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\106\353\105\056\263\021\111\255\375\025\010\273\045\350\266\315</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\325\005\071\073\233\103\133\113\253\166\114\261\103\134\141\342</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\206\156\271\012\262\077\304\127\124\002\124\352\355\202\005\044</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\170\122\355\240\013\040\232\302\110\256\131\131\174\015\174\312</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\150\165\277\205\140\025\003\166\235\015\046\317\253\012\332\067</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\000\256\051\170\205\000\312\000\074\210\141\024\325\314\226\172</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\040\164\215\252\065\050\332\200\243\056\147\030\354\302\300\310</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\162\265\254\130\157\030\225\252\331\105\075\255\250\250\055\065</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\065\007\110\017\244\142\240\276\301\010\263\365\210\154\025\235</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\004\252\160\300\263\157\363\030\015\324\361\066\011\331\356\020</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\311\206\001\235\254\227\317\272\062\266\246\266\206\221\235\171</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\244\147\064\031\212\130\116\127\053\101\042\040\027\115\030\145</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\051\366\123\013\160\105\034\312\274\210\106\322\005\010\306\115</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\371\225\005\247\333\275\226\005\253\272\301\153\143\344\365\242</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\331\126\222\255\155\224\264\304\057\114\306\332\362\017\067\154</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\066\146\322\233\336\243\305\252\150\034\146\117\306\154\041\344</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\023\345\045\300\176\130\155\013\066\226\004\162\175\343\313\346</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\303\122\154\002\205\120\310\110\072\063\323\273\344\207\005\232</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\045\365\355\126\055\375\253\376\342\252\077\354\252\317\332\104</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\075\157\260\220\277\246\144\375\013\167\161\061\160\115\311\006</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\256\273\350\273\306\144\075\327\273\130\374\322\037\354\040\234</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\053\061\061\357\257\057\351\172\356\245\071\341\225\047\011\075</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\175\011\363\166\032\112\056\051\226\256\246\252\316\000\267\254</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\372\167\105\273\141\316\212\135\107\237\151\253\053\250\376\212</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\240\351\356\076\162\211\151\352\054\332\136\141\172\207\265\302</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\374\245\242\304\043\131\103\312\103\336\030\057\020\111\154\210</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\244\061\201\275\037\061\201\165\360\326\303\272\025\234\233\143</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\334\070\004\325\300\266\026\127\233\273\177\120\356\336\152\166</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\036\102\142\263\362\323\313\312\267\371\115\070\113\143\340\227</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\325\204\354\152\166\174\011\377\135\214\351\172\075\060\016\245</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\336\345\263\235\253\200\373\350\013\136\137\174\003\376\332\373</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\223\373\070\237\155\166\141\263\013\215\354\002\361\120\316\140</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\353\220\155\172\361\303\323\213\236\115\057\216\163\153\120\016</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\136\260\331\373\356\014\336\250\076\354\276\240\315\100\154\006</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\162\242\031\310\211\204\154\377\340\110\114\077\333\011\174\174</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\071\307\333\024\172\236\151\372\124\222\150\317\046\321\173\232</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\202\130\217\134\343\221\377\100\331\021\054\353\222\165\146\360</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\371\141\273\344\251\122\365\251\370\344\163\353\223\353\147\364</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\205\365\311\366\265\211\103\166\311\227\266\256\371\256\165\115</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\357\243\352\232\325\230\126\020\227\023\226\022\255\136\056\314</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\116\013\075\233\241\336\151\240\052\377\263\137\047\201\112\175</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\213\272\250\300\271\253\071\073\252\170\102\041\070\226\221\002</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\052\175\137\363\265\311\252\337\271\012\061\200\243\356\273\030</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\201\061\043\021\350\226\251\264\232\277\261\136\333\073\374\151</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\174\162\355\300\016\043\333\123\200\216\075\005\250\031\214\331</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\123\200\366\024\340\211\154\365\301\070\106\064\172\267\135\276</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\153\305\336\356\357\235\332\376\236\335\204\073\224\362\302\332</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\011\241\114\222\100\367\140\320\041\330\251\120\147\031\013\334</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\322\131\176\137\132\144\313\145\107\267\047\167\042\345\062\301</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\034\251\150\344\250\113\372\254\137\336\327\255\070\173\330\250</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\375\252\331\156\051\302\126\344\213\251\272\151\322\040\364\325</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\267\316\325\005\231\230\072\252\217\135\301\155\073\111\151\302</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\246\141\314\333\112\274\333\106\254\333\146\234\133\362\016\333</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\166\116\245\153\032\366\325\141\133\142\077\314\022\373\255\014</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\106\262\066\266\300\276\067\005\366\303\275\136\321\344\166\302</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\132\171\353\157\127\334\224\161\363\266\351\374\246\342\316\034</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\107\023\044\136\246\324\346\143\107\146\223\061\243\211\034\115</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\247\017\374\325\255\277\162\052\256\067\252\047\275\174\046\365</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\012\111\337\074\114\066\057\010\037\166\327\376\353\300\377\016</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\226\320\061\000\050\165\165\141\171\051\143\141\152\141\057\000</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/1.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/10.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/2.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/3.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/4.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/4.html
new file mode 100644
index 0000000..f1a853b
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\266\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\005\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\051\030\032\144\363\144\370\035\250\011\050\047\132\117</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\320\215\271\377\173\101\146\200\002\026\115\020\113\077\207\050</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\235\147\147\306\112\306\240\314\072\020\144\001\023\264\144\232</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\205\034\320\364\126\045\060\036\074\375\353\236\114\211\300\167</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\222\046\032\115\257\011\327\265\363\031\225\002\247\237\150\032</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\131\260\005\010\323\323\040\242\042\334\170\220\357\276\031\041</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\243\237\114\210\225\101\317\202\123\340\076\124\174\145\204\313</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\131\116\006\045\337\011\116\331\140\044\216\362\361\156\166\151</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\230\261\014\010\214\042\102\163\142\210\145\307\004\255\301\202</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\177\263\253\005\267\262\337\357\167\043\062\307\332\353\030\360</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\334\052\257\205\313\150\332\003\240\163\306\243\374\073\005\347</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\126\305\347\222\107\240\006\233\011\203\235\031\371\354\040\063</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\006\101\170\057\373\151\205\034\312\007\264\305\261\307\345\317</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\073\377\372\263\323\005\263\040\152\306\004\346\160\147\011\033</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\216\074\100\024\233\315\175\141\214\214\075\041\102\151\214\134</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\064\005\222\212\131\171\022\143\275\007\232\132\067\142\030\045</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\274\011\240\216\011\265\316\254\164\035\267\264\010\115\127\302</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\104\001\331\021\213\123\160\211\045\103\024\305\327\126\204\056</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\070\116\326\062\061\130\233\165\352\041\034\352\134\244\244\070</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\126\276\341\047\173\116\275\001\016\363\241\227\260\256\315\204</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\300\235\146\212\277\070\034\113\065\262\112\267\327\220\225\276</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\240\012\050\260\045\150\034\301\035\111\270\361\307\220\171\162</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\064\315\035\272\017\140\242\001\047\302\072\015\316\104\013\242</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\011\137\221\265\306\172\056\127\170\263\207\152\024\273\136\275</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\210\230\320\173\153\021\365\113\302\103\114\104\344\277\325\073</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\306\271\077\124\054\065\313\315\373\242\212\050\347\356\013\016</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\370\020\203\110\343\105\027\346\360\255\302\120\337\246\055\014</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\317\312\354\124\346\141\027\312\354\042\337\115\172\031\331\136</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\061\047\247\331\013\044\046\121\224\205\331\253\346\020\364\036</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\247\271\127\165\124\363\365\022\016\246\356\061\164\337\063\324</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\045\144\255\155\266\253\064\240\161\376\323\042\007\362\161\226</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\327\052\113\260\137\305\241\125\062\250\324\037\343\007\302\331</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\254\072\214\070\130\064\047\221\165\106\271\076\012\051\252\327</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\165\062\313\315\260\117\351\146\322\132\004\271\346\037\300\270</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\103\231\347\144\240\055\026\360\326\224\207\243\132\370\122\106</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\270\231\161\243\130\204\312\246\037\310\213\056\370\121\127\340</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\134\265\101\240\254\136\155\055\260\025\006\052\171\262\020\276</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\110\052\145\343\226\317\027\271\010\145\352\371\262\144\110\306</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\251\273\321\230\246\243\341\236\077\354\134\172\135\111\320\205</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\147\336\064\376\327\347\034\315\362\217\132\063\043\306\020\072</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\257\114\020\252\261\130\215\334\042\271\150\112\122\355\176\235</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\251\364\241\172\365\211\332\332\360\237\074\133\336\246\331\106</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\342\074\201\076\145\265\332\304\032\155\210\062\155\221\124\227</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\021\001\046\372\317\266\250\075\213\316\112\077\050\140\041\005</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\243\170\305\242\031\330\160\366\322\075\034\225\125\135\274\057</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\253\072\233\120\245\011\031\054\137\337\204\116\111\323\207\307</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\255\351\333\224\144\156\375\214\165\070\266\022\242\106\157\074</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\221\076\145\355\367\252\353\374\131\131\162\140\321\132\170\247</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\225\025\275\232\126\127\063\245\002\270\034\260\024\150\163\142</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\221\126\252\117\176\257\131\045\132\025\051\216\253\012\055\165</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\346\137\101\033\046\062\153\251\105\152\225\100\261\060\061\240</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\113\245\266\235\262\131\170\005\331\311\127\260\044\074\261\077</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\103\153\062\150\120\046\323\152\374\336\202\355\256\303\351\335</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\066\071\261\176\375\271\005\165\156\101\265\157\101\175\256\354</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\143\274\315\016\124\353\044\243\264\221\374\343\072\120\163\240</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\205\023\271\354\230\200\246\243\245\307\162\207\324\326\051\172</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\110\317\377\133\327\007\135\247\223\207\240\331\077\322\373\371</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\245\131\207\055\210\110\221\025\146\042\262\352\153\244\072\216</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\132\254\161\324\075\074\002\037\034\215\217\245\224\073\341\172</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\315\317\003\172\024\151\173\214\372\113\030\265\336\361\201\220</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\375\256\303\323\021\373\072\364\121\035\165\343\233\132\161\163</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\113\356\314\232\273\261\350\116\254\272\241\145\067\254\365\333</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\053\357\323\101\322\055\074\230\335\070\336\354\044\351\265\324</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\370\140\051\247\327\004\227\200\323\103\315\337\274\360\060\003</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\013\135\077\157\063\163\332\377\343\161\074\310\276\232\203\330</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\230\335\017\037\107\255\340\146\355\226\173\360\007\173\144\161</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\123\230\174\236\076\073\211\066\167\215\176\234\223\170\107\251</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\325\271\237\370\306\372\211\066\114\305\012\264\076\367\023\217</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\251\237\170\272\127\046\175\156\002\326\322\333\345\115\306\374</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\326\205\041\046\321\070\254\275\331\250\101\244\173\133\202\047</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\023\032\137\156\154\330\351\335\171\100\265\331\373\346\262\360</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\161\366\176\033\267\113\252\136\056\145\057\220\172\240\224\124</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\257\161\035\372\255\037\026\354\136\072\312\125\250\054\304\235</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\266\012\225\307\270\354\237\067\251\112\357\055\116\134\266\215</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\023\105\032\213\257\025\363\227\156\275\315\125\212\055\104\141</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\070\260\071\122\054\205\266\273\351\375\216\246\205\127\143\066</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\161\331\235\132\217\340\322\152\367\363\053\033\047\370\213\101</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\135\174\244\152\353\300\347\207\306\377\003\111\326\104\031\000</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/5.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/6.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/7.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/8.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/9.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/index.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/stats.html b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/style.css b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/2020-06-26-232255-6106-1@a92e7aa4e086_master/index.html b/2020-06-26-232255-6106-1@a92e7aa4e086_master/index.html
new file mode 100644
index 0000000..2a26569
--- /dev/null
+++ b/2020-06-26-232255-6106-1@a92e7aa4e086_master/index.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>rootdir - scan-build results</title>
+<link type="text/css" rel="stylesheet" href="scanview.css"/>
+<script src="sorttable.js"></script>
+<script language='javascript' type="text/javascript">
+function SetDisplay(RowClass, DisplayVal)
+{
+ var Rows = document.getElementsByTagName("tr");
+ for ( var i = 0 ; i < Rows.length; ++i ) {
+ if (Rows[i].className == RowClass) {
+ Rows[i].style.display = DisplayVal;
+ }
+ }
+}
+
+function CopyCheckedStateToCheckButtons(SummaryCheckButton) {
+ var Inputs = document.getElementsByTagName("input");
+ for ( var i = 0 ; i < Inputs.length; ++i ) {
+ if (Inputs[i].type == "checkbox") {
+ if(Inputs[i] != SummaryCheckButton) {
+ Inputs[i].checked = SummaryCheckButton.checked;
+ Inputs[i].onclick();
+ }
+ }
+ }
+}
+
+function returnObjById( id ) {
+ if (document.getElementById)
+ var returnVar = document.getElementById(id);
+ else if (document.all)
+ var returnVar = document.all[id];
+ else if (document.layers)
+ var returnVar = document.layers[id];
+ return returnVar;
+}
+
+var NumUnchecked = 0;
+
+function ToggleDisplay(CheckButton, ClassName) {
+ if (CheckButton.checked) {
+ SetDisplay(ClassName, "");
+ if (--NumUnchecked == 0) {
+ returnObjById("AllBugsCheck").checked = true;
+ }
+ }
+ else {
+ SetDisplay(ClassName, "none");
+ NumUnchecked++;
+ returnObjById("AllBugsCheck").checked = false;
+ }
+}
+</script>
+<!-- SUMMARYENDHEAD -->
+</head>
+<body>
+<h1>rootdir - scan-build results</h1>
+
+<table>
+<tr><th>User:</th><td>root@14c69734cf7a</td></tr>
+<tr><th>Working Directory:</th><td>/rootdir</td></tr>
+<tr><th>Command Line:</th><td>make -j 2</td></tr>
+<tr><th>Clang Version:</th><td>clang version 9.0.1 (Fedora 9.0.1-2.fc31)
+</td></tr>
+<tr><th>Date:</th><td>Fri Jun 26 23:22:55 2020</td></tr>
+</table>
+<h2>Bug Summary</h2><table>
+<thead><tr><td>Bug Type</td><td>Quantity</td><td class="sorttable_nosort">Display?</td></tr></thead>
+<tr style="font-weight:bold"><td class="SUMM_DESC">All Bugs</td><td class="Q">2</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Security</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_');" checked/></center></td></tr>
+</table>
+<h2>Reports</h2>
+
+<table class="sortable" style="table-layout:automatic">
+<thead><tr>
+ <td>Bug Group</td>
+ <td class="sorttable_sorted">Bug Type<span id="sorttable_sortfwdind">&nbsp;&#x25BE;</span></td>
+ <td>File</td>
+ <td>Function/Method</td>
+ <td class="Q">Line</td>
+ <td class="Q">Path Length</td>
+ <td class="sorttable_nosort"></td>
+ <!-- REPORTBUGCOL -->
+</tr></thead>
+<tbody>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">294</td><td class="Q">1</td><td><a href="report-47a8f3.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-47a8f3.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcpy_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcpy'</td><td>caja-open-terminal.c</td><td class="DESC">append_sftp_info</td><td class="Q">293</td><td class="Q">1</td><td><a href="report-871a1b.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-871a1b.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/2020-06-26-232255-6106-1@a92e7aa4e086_master/report-47a8f3.html b/2020-06-26-232255-6106-1@a92e7aa4e086_master/report-47a8f3.html
new file mode 100644
index 0000000..ecb7888
--- /dev/null
+++ b/2020-06-26-232255-6106-1@a92e7aa4e086_master/report-47a8f3.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 559a68a39e956388cdae4658a72bed64 -->
+
+<!-- BUGLINE 294 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 294, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-26-232255-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"294": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-26-232255-6106-1@a92e7aa4e086_master/report-871a1b.html b/2020-06-26-232255-6106-1@a92e7aa4e086_master/report-871a1b.html
new file mode 100644
index 0000000..42ccec8
--- /dev/null
+++ b/2020-06-26-232255-6106-1@a92e7aa4e086_master/report-871a1b.html
@@ -0,0 +1,1018 @@
+<!doctype html>
+<html>
+<head>
+<title>caja-open-terminal.c</title>
+
+<style type="text/css">
+body { color:#000000; background-color:#ffffff }
+body { font-family:Helvetica, sans-serif; font-size:10pt }
+h1 { font-size:14pt }
+.FileName { margin-top: 5px; margin-bottom: 5px; display: inline; }
+.FileNav { margin-left: 5px; margin-right: 5px; display: inline; }
+.FileNav a { text-decoration:none; font-size: larger; }
+.divider { margin-top: 30px; margin-bottom: 30px; height: 15px; }
+.divider { background-color: gray; }
+.code { border-collapse:collapse; width:100%; }
+.code { font-family: "Monospace", monospace; font-size:10pt }
+.code { line-height: 1.2em }
+.comment { color: green; font-style: oblique }
+.keyword { color: blue }
+.string_literal { color: red }
+.directive { color: darkmagenta }
+
+/* Macros and variables could have pop-up notes hidden by default.
+ - Macro pop-up: expansion of the macro
+ - Variable pop-up: value (table) of the variable */
+.macro_popup, .variable_popup { display: none; }
+
+/* Pop-up appears on mouse-hover event. */
+.macro:hover .macro_popup, .variable:hover .variable_popup {
+ display: block;
+ padding: 2px;
+ -webkit-border-radius:5px;
+ -webkit-box-shadow:1px 1px 7px #000;
+ border-radius:5px;
+ box-shadow:1px 1px 7px #000;
+ position: absolute;
+ top: -1em;
+ left:10em;
+ z-index: 1
+}
+
+.macro_popup {
+ border: 2px solid red;
+ background-color:#FFF0F0;
+ font-weight: normal;
+}
+
+.variable_popup {
+ border: 2px solid blue;
+ background-color:#F0F0FF;
+ font-weight: bold;
+ font-family: Helvetica, sans-serif;
+ font-size: 9pt;
+}
+
+/* Pop-up notes needs a relative position as a base where they pops up. */
+.macro, .variable {
+ background-color: PaleGoldenRod;
+ position: relative;
+}
+.macro { color: DarkMagenta; }
+
+#tooltiphint {
+ position: fixed;
+ width: 50em;
+ margin-left: -25em;
+ left: 50%;
+ padding: 10px;
+ border: 1px solid #b0b0b0;
+ border-radius: 2px;
+ box-shadow: 1px 1px 7px black;
+ background-color: #c0c0c0;
+ z-index: 2;
+}
+
+.num { width:2.5em; padding-right:2ex; background-color:#eeeeee }
+.num { text-align:right; font-size:8pt }
+.num { color:#444444 }
+.line { padding-left: 1ex; border-left: 3px solid #ccc }
+.line { white-space: pre }
+.msg { -webkit-box-shadow:1px 1px 7px #000 }
+.msg { box-shadow:1px 1px 7px #000 }
+.msg { -webkit-border-radius:5px }
+.msg { border-radius:5px }
+.msg { font-family:Helvetica, sans-serif; font-size:8pt }
+.msg { float:left }
+.msg { padding:0.25em 1ex 0.25em 1ex }
+.msg { margin-top:10px; margin-bottom:10px }
+.msg { font-weight:bold }
+.msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }
+.msgT { padding:0x; spacing:0x }
+.msgEvent { background-color:#fff8b4; color:#000000 }
+.msgControl { background-color:#bbbbbb; color:#000000 }
+.msgNote { background-color:#ddeeff; color:#000000 }
+.mrange { background-color:#dfddf3 }
+.mrange { border-bottom:1px solid #6F9DBE }
+.PathIndex { font-weight: bold; padding:0px 5px; margin-right:5px; }
+.PathIndex { -webkit-border-radius:8px }
+.PathIndex { border-radius:8px }
+.PathIndexEvent { background-color:#bfba87 }
+.PathIndexControl { background-color:#8c8c8c }
+.PathIndexPopUp { background-color: #879abc; }
+.PathNav a { text-decoration:none; font-size: larger }
+.CodeInsertionHint { font-weight: bold; background-color: #10dd10 }
+.CodeRemovalHint { background-color:#de1010 }
+.CodeRemovalHint { border-bottom:1px solid #6F9DBE }
+.selected{ background-color:orange !important; }
+
+table.simpletable {
+ padding: 5px;
+ font-size:12pt;
+ margin:20px;
+ border-collapse: collapse; border-spacing: 0px;
+}
+td.rowname {
+ text-align: right;
+ vertical-align: top;
+ font-weight: bold;
+ color:#444444;
+ padding-right:2ex;
+}
+
+/* Hidden text. */
+input.spoilerhider + label {
+ cursor: pointer;
+ text-decoration: underline;
+ display: block;
+}
+input.spoilerhider {
+ display: none;
+}
+input.spoilerhider ~ .spoiler {
+ overflow: hidden;
+ margin: 10px auto 0;
+ height: 0;
+ opacity: 0;
+}
+input.spoilerhider:checked + label + .spoiler{
+ height: auto;
+ opacity: 1;
+}
+</style>
+</head>
+<body>
+<!-- BUGDESC Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 -->
+
+<!-- BUGTYPE Potential insecure memory buffer bounds restriction in call 'strcpy' -->
+
+<!-- BUGCATEGORY Security -->
+
+<!-- BUGFILE /rootdir/open-terminal/caja-open-terminal.c -->
+
+<!-- FILENAME caja-open-terminal.c -->
+
+<!-- FUNCTIONNAME append_sftp_info -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 41c4fb9d25ba3e4e90e4ed4ad3f51d47 -->
+
+<!-- BUGLINE 293 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>caja-open-terminal.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 293, column 2</a><br />Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</td></tr>
+
+</table>
+<!-- REPORTSUMMARYEXTRA -->
+<h3>Annotated Source Code</h3>
+<p>Press <a href="#" onclick="toggleHelp(); return false;">'?'</a>
+ to see keyboard shortcuts</p>
+<input type="checkbox" class="spoilerhider" id="showinvocation" />
+<label for="showinvocation" >Show analyzer invocation</label>
+<div class="spoiler">clang -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name caja-open-terminal.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -resource-dir /usr/lib64/clang/9.0.1 -D HAVE_CONFIG_H -I . -I .. -D G_DISABLE_DEPRECATED -D GDK_PIXBUF_DISABLE_DEPRECATED -D MATELOCALEDIR="/usr/local/share/locale" -I .. -D G_LOG_DOMAIN="Caja-Open-Terminal" -D DATADIR="/usr/local/share" -I /usr/include/caja -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-desktop-2.0 -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libdrm -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -D PIC -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/9.0.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/open-terminal -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-checker security.insecureAPI.strcpy -analyzer-output=html -faddrsig -o /rootdir/html-report/2020-06-26-232255-6106-1 -x c caja-open-terminal.c
+</div>
+<div id='tooltiphint' hidden="true">
+ <p>Keyboard shortcuts: </p>
+ <ul>
+ <li>Use 'j/k' keys for keyboard navigation</li>
+ <li>Use 'Shift+S' to show/hide relevant lines</li>
+ <li>Use '?' to toggle this window</li>
+ </ul>
+ <a href="#" onclick="toggleHelp(); return false;">Close</a>
+</div>
+<script type='text/javascript'>
+var relevant_lines = {"1": {"293": 1}};
+
+var filterCounterexample = function (hide) {
+ var tables = document.getElementsByClassName("code");
+ for (var t=0; t<tables.length; t++) {
+ var table = tables[t];
+ var file_id = table.getAttribute("data-fileid");
+ var lines_in_fid = relevant_lines[file_id];
+ if (!lines_in_fid) {
+ lines_in_fid = {};
+ }
+ var lines = table.getElementsByClassName("codeline");
+ for (var i=0; i<lines.length; i++) {
+ var el = lines[i];
+ var lineNo = el.getAttribute("data-linenumber");
+ if (!lines_in_fid[lineNo]) {
+ if (hide) {
+ el.setAttribute("hidden", "");
+ } else {
+ el.removeAttribute("hidden");
+ }
+ }
+ }
+ }
+}
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "S") {
+ var checked = document.getElementsByName("showCounterexample")[0].checked;
+ filterCounterexample(!checked);
+ document.getElementsByName("showCounterexample")[0].checked = !checked;
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelector('input[name="showCounterexample"]').onchange=
+ function (event) {
+ filterCounterexample(this.checked);
+ };
+});
+</script>
+
+<form>
+ <input type="checkbox" name="showCounterexample" id="showCounterexample" />
+ <label for="showCounterexample">
+ Show only relevant lines
+ </label>
+</form>
+
+<script type='text/javascript'>
+var digitMatcher = new RegExp("[0-9]+");
+
+document.addEventListener("DOMContentLoaded", function() {
+ document.querySelectorAll(".PathNav > a").forEach(
+ function(currentValue, currentIndex) {
+ var hrefValue = currentValue.getAttribute("href");
+ currentValue.onclick = function() {
+ scrollTo(document.querySelector(hrefValue));
+ return false;
+ };
+ });
+});
+
+var findNum = function() {
+ var s = document.querySelector(".selected");
+ if (!s || s.id == "EndPath") {
+ return 0;
+ }
+ var out = parseInt(digitMatcher.exec(s.id)[0]);
+ return out;
+};
+
+var scrollTo = function(el) {
+ document.querySelectorAll(".selected").forEach(function(s) {
+ s.classList.remove("selected");
+ });
+ el.classList.add("selected");
+ window.scrollBy(0, el.getBoundingClientRect().top -
+ (window.innerHeight / 2));
+}
+
+var move = function(num, up, numItems) {
+ if (num == 1 && up || num == numItems - 1 && !up) {
+ return 0;
+ } else if (num == 0 && up) {
+ return numItems - 1;
+ } else if (num == 0 && !up) {
+ return 1 % numItems;
+ }
+ return up ? num - 1 : num + 1;
+}
+
+var numToId = function(num) {
+ if (num == 0) {
+ return document.getElementById("EndPath")
+ }
+ return document.getElementById("Path" + num);
+};
+
+var navigateTo = function(up) {
+ var numItems = document.querySelectorAll(
+ ".line > .msgEvent, .line > .msgControl").length;
+ var currentSelected = findNum();
+ var newSelected = move(currentSelected, up, numItems);
+ var newEl = numToId(newSelected, numItems);
+
+ // Scroll element into center.
+ scrollTo(newEl);
+};
+
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "j") {
+ navigateTo(/*up=*/false);
+ } else if (event.key == "k") {
+ navigateTo(/*up=*/true);
+ } else {
+ return;
+ }
+ event.preventDefault();
+}, true);
+</script>
+
+<script type='text/javascript'>
+
+var toggleHelp = function() {
+ var hint = document.querySelector("#tooltiphint");
+ var attributeName = "hidden";
+ if (hint.hasAttribute(attributeName)) {
+ hint.removeAttribute(attributeName);
+ } else {
+ hint.setAttribute("hidden", "true");
+ }
+};
+window.addEventListener("keydown", function (event) {
+ if (event.defaultPrevented) {
+ return;
+ }
+ if (event.key == "?") {
+ toggleHelp();
+ } else {
+ return;
+ }
+ event.preventDefault();
+});
+</script>
+<table class="code" data-fileid="1">
+<tr class="codeline" data-linenumber="1"><td class="num" id="LN1">1</td><td class="line"><span class='comment'>/*</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* caja-open-terminal.c</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This library is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License as published by the Free Software Foundation; either</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* version 2 of the License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This library is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* License along with this library; if not, write to the Free</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Author: Christian Neumair &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_CONFIG_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='directive'>#include &lt;config.h&gt; /* for GETTEXT_PACKAGE */</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include "caja-open-terminal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-menu-provider.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#include &lt;libcaja-extension/caja-configurable.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;glib/gi18n-lib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;gtk/gtkicontheme.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;gtk/gtkwidget.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;gtk/gtkmain.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;libmate-desktop/mate-desktop-item.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;string.h&gt; /* for strcmp, strdup, ... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt; /* for chdir */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt; /* for atoi */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='directive'>#define <span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span> "org.mate.caja-open-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"><span class='directive'>#define <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span> "desktop-opens-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span> "org.mate.caja.preferences"</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='directive'>#define <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span> "desktop-is-home-dir"</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span> "org.mate.applications-terminal"</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='directive'>#define <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span> "exec"</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_instance_init (CajaOpenTerminal *cvs);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span> caja_open_terminal_class_init (CajaOpenTerminalClass *class);</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='keyword'>static</span> GType terminal_type = 0;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> FILE_INFO_LOCAL,</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> FILE_INFO_DESKTOP,</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> FILE_INFO_SFTP,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> FILE_INFO_OTHER</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line">} TerminalFileInfo;</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='keyword'>static</span> TerminalFileInfo</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line">get_terminal_file_info (CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> TerminalFileInfo ret;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='keyword'>char</span> *uri_scheme;</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> uri_scheme = g_uri_parse_scheme (uri);</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"file"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> ret = FILE_INFO_LOCAL;</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"x-caja-desktop"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> ret = FILE_INFO_DESKTOP;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strcmp (uri_scheme, <span class='string_literal'>"sftp"</span>) == 0 ||</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> strcmp (uri_scheme, <span class='string_literal'>"ssh"</span>) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> ret = FILE_INFO_SFTP;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> ret = FILE_INFO_OTHER;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> g_free (uri_scheme);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"><span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line">lookup_in_data_dir (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *data_dir)</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>char</span> *path;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> path = g_build_filename (data_dir, basename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (!g_file_test (path, G_FILE_TEST_EXISTS)) {</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>return</span> path;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line">lookup_in_data_dirs (<span class='keyword'>const</span> <span class='keyword'>char</span> *basename)</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> * <span class='keyword'>const</span> *system_data_dirs;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *user_data_dir;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>char</span> *retval;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> user_data_dir = g_get_user_data_dir ();</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> system_data_dirs = g_get_system_data_dirs ();</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, user_data_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>for</span> (i = 0; system_data_dirs[i]; i++) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> ((retval = lookup_in_data_dir (basename, system_data_dirs[i])))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>return</span> retval;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line">desktop_opens_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line">set_desktop_opens_home_dir (gboolean val)</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> settings = g_settings_new (<span class='macro'>COT_SCHEMA<span class='macro_popup'>"org.mate.caja-open-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> result = g_settings_set_boolean (settings, <span class='macro'>COT_DESKTOP_KEY<span class='macro_popup'>"desktop-opens-home-dir"</span></span>, val);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">desktop_is_home_dir (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> settings = g_settings_new (<span class='macro'>CAJA_SCHEMA<span class='macro_popup'>"org.mate.caja.preferences"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> result = g_settings_get_boolean (settings, <span class='macro'>CAJA_DESKTOP_KEY<span class='macro_popup'>"desktop-is-home-dir"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gchar*</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">default_terminal_application (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> gchar *result;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> result = g_settings_get_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> <span class='keyword'>if</span> (result == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || strlen (result) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> g_free (result);</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> result = g_strdup (<span class='string_literal'>"mate-terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>inline</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">set_default_terminal_application (<span class='keyword'>const</span> gchar* exec)</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> gboolean result;</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> GSettings* settings;</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> settings = g_settings_new (<span class='macro'>TERM_SCHEMA<span class='macro_popup'>"org.mate.applications-terminal"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> result = g_settings_set_string (settings, <span class='macro'>TERM_EXEC_KEY<span class='macro_popup'>"exec"</span></span>, exec);</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> g_object_unref (settings);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>return</span> result;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line">parse_sftp_uri (GFile *file, <span class='keyword'>char</span> **host, guint *port, <span class='keyword'>char</span> **user,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>char</span> **path)</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> <span class='keyword'>char</span> *uri = g_file_get_uri (file);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> <span class='keyword'>char</span> *u, *h, *s, *p;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> <span class='keyword'>char</span> *h_end;</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> <span class='macro'>g_assert (uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 206, ((const char<br>*) (__func__)), "uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> u = strchr(uri, ':');</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> <span class='macro'>g_assert (u != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (u != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 209, ((const char<br>*) (__func__)), "u != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> u += 3; <span class='comment'>/* Skip over :// to userid */</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> p = strchr (u, '/');</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> h = strchr(u, '@');</td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='keyword'>if</span> (h &amp;&amp; ((p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) || (h &lt; p))) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> *h='\0';</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> h++;</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> h = u;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> u = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> s = strchr(h, ':');</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='keyword'>if</span> (s &amp;&amp; (p == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || s &lt; p)) {</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> h_end = s;</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> *s = '\0';</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> s++;</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> h_end = p;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> s = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> <span class='keyword'>if</span> (h_end == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> h_end = h + strlen(h);</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> *user = g_strdup(u);</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> *port = s == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ? 0 : atoi(s); <span class='comment'>/* FIXME: getservbyname ? */</span></td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> *path = g_uri_unescape_string (p, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> *h_end = '\0';</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> *host = g_strdup(h);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line">append_sftp_info (<span class='keyword'>char</span> **terminal_exec,</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> GFile *vfs_uri;</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>char</span> *host_name, *path, *user_name;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='keyword'>char</span> *user_host, *cmd, *quoted_cmd;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='keyword'>char</span> *host_port_switch;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='keyword'>char</span> *quoted_path;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='keyword'>char</span> *remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='keyword'>char</span> *quoted_remote_cmd;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> guint host_port;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='macro'>g_assert (terminal_exec != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (terminal_exec != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 260, ((const char<br>*) (__func__)), "terminal_exec != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='macro'>g_assert (file_info != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (file_info != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 261, ((const char<br>*) (__func__)), "file_info != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> vfs_uri = g_file_new_for_uri (caja_file_info_get_activation_uri (file_info));</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='macro'>g_assert (vfs_uri != NULL)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (vfs_uri != ((void*)0)) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 265, ((const char<br>*) (__func__)), "vfs_uri != NULL"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> <span class='macro'>g_assert (g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"sftp"</span>)==TRUE ||<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='macro'>g_file_has_uri_scheme(vfs_uri, <span class='string_literal'>"ssh"</span>)==TRUE)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (g_file_has_uri_scheme(vfs_uri, "sftp")==(!(0)) || g_file_has_uri_scheme<br>(vfs_uri, "ssh")==(!(0))) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> ("Caja-Open-Terminal", "caja-open-terminal.c", 268, ((const char<br>*) (__func__)), "g_file_has_uri_scheme(vfs_uri, \"sftp\")==TRUE || g_file_has_uri_scheme(vfs_uri, \"ssh\")==TRUE"<br>); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> parse_sftp_uri (vfs_uri, &amp;host_name, &amp;host_port, &amp;user_name, &amp;path);</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> <span class='keyword'>if</span> (host_port == 0) {</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> host_port_switch = g_strdup (<span class='string_literal'>""</span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> host_port_switch = g_strdup_printf (<span class='string_literal'>"-p %d"</span>, host_port);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>if</span> (user_name != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> user_host = g_strdup_printf (<span class='string_literal'>"%s@%s"</span>, user_name, host_name);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> user_host = g_strdup (host_name);</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> quoted_path = g_shell_quote (path);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> remote_cmd = g_strdup_printf (<span class='string_literal'>"cd %s &amp;&amp; $SHELL -l"</span>, quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> quoted_remote_cmd = g_shell_quote (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> cmd = g_strdup_printf (<span class='string_literal'>"ssh %s %s -t %s"</span>, user_host, host_port_switch, quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> quoted_cmd = g_shell_quote (cmd);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> g_free (cmd);</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> *terminal_exec = g_realloc (*terminal_exec, strlen (*terminal_exec) + strlen (quoted_cmd) + 4 + 1);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> <span class="mrange">strcpy</span> (*terminal_exec + strlen (*terminal_exec), <span class='string_literal'>" -e "</span>);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex; max-width:52em">Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119</div></td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> strcpy (*terminal_exec + strlen (*terminal_exec), quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> g_free (host_name);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> g_free (user_name);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> g_free (host_port_switch);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> g_free (path);</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> g_free (quoted_path);</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> g_free (remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> g_free (quoted_remote_cmd);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> g_free (quoted_cmd);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> g_free (user_host);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> g_object_unref (vfs_uri);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line">open_terminal_callback (CajaMenuItem *item,</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> GdkDisplay *display;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>const</span> gchar *display_str;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>const</span> gchar *old_display_str;</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> gchar *uri;</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> gchar **argv, *terminal_exec;</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> gchar *working_directory;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> gchar *dfile;</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> MateDesktopItem *ditem;</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> GdkScreen *screen;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> terminal_exec = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> <span class='keyword'>switch</span> (get_terminal_file_info (file_info)) {</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> uri = caja_file_info_get_activation_uri (file_info);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> <span class='keyword'>if</span> (uri != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> working_directory = g_filename_from_uri (uri, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (desktop_is_home_dir () || desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> working_directory = g_strdup (g_get_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> working_directory = g_strdup (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> working_directory = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> append_sftp_info (&amp;terminal_exec, file_info);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 351, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>if</span> (g_str_has_prefix (terminal_exec, <span class='string_literal'>"mate-terminal"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> dfile = lookup_in_data_dirs (<span class='string_literal'>"applications/mate-terminal.desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dfile = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> g_shell_parse_argv (terminal_exec, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;argv, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> display_str = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> old_display_str = g_getenv (<span class='string_literal'>"DISPLAY"</span>);</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> screen = g_object_get_data (<span class='macro'>G_OBJECT (item)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>item)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"CajaOpenTerminal::screen"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> display = gdk_screen_get_display (screen);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> <span class='keyword'>if</span> (screen != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> display_str = gdk_display_get_name (display);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dfile != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>int</span> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> orig_cwd = open (<span class='string_literal'>"."</span>, <span class='macro'>O_RDONLY<span class='macro_popup'>00</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> } <span class='keyword'>while</span> (orig_cwd == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>if</span> (orig_cwd == -1) {</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to open current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (working_directory != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='keyword'>if</span> (chdir (working_directory) == -1) {</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change Caja working directory to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close() current Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> orig_cwd = -1;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> ditem = mate_desktop_item_new_from_file (dfile, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> mate_desktop_item_set_string (ditem, <span class='string_literal'>"Exec"</span>, terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>if</span> (gtk_get_current_event_time () &gt; 0) {</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> mate_desktop_item_set_launch_time (ditem, gtk_get_current_event_time ());</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> mate_desktop_item_launch (ditem, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> mate_desktop_item_unref (ditem);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> g_free (dfile);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (orig_cwd != -1) {</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>int</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> ret = fchdir (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to \"%s\"."</span>,</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> working_directory);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="419"><td class="num" id="LN419">419</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='keyword'>do</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> ret = close (orig_cwd);</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> } <span class='keyword'>while</span> (ret == -1 &amp;&amp; <span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span> == <span class='macro'>EINTR<span class='macro_popup'>4</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> <span class='keyword'>if</span> (ret == -1) {</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> g_message (<span class='string_literal'>"CajaOpenTerminal: Failed to close Caja working directory."</span>);</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> g_spawn_async (working_directory,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> argv,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> G_SPAWN_SEARCH_PATH,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> g_setenv (<span class='string_literal'>"DISPLAY"</span>, old_display_str, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> g_strfreev (argv);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> g_free (terminal_exec);</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> g_free (working_directory);</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"><span class='keyword'>static</span> CajaMenuItem *</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line">open_terminal_menu_item_new (CajaFileInfo *file_info,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> TerminalFileInfo terminal_file_info,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> GdkScreen *screen,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> gboolean is_file_item)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> CajaMenuItem *ret;</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *tooltip;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (is_file_item) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently selected folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently selected folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> <span class='keyword'>if</span> (desktop_opens_home_dir ()) {</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open _Terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open a terminal"))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> name = <span class='macro'>_(<span class='string_literal'>"Open in _Terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open in _Terminal")<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> tooltip = <span class='macro'>_(<span class='string_literal'>"Open the currently open folder in a terminal"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open the currently open folder in a terminal"<br>))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 479, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> ret = caja_menu_item_new (<span class='string_literal'>"CajaOpenTerminal::open_terminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> name, tooltip, <span class='string_literal'>"terminal"</span>);</td></tr>
+<tr class="codeline" data-linenumber="484"><td class="num" id="LN484">484</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_object_set_data (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal::screen"</span>,</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> screen);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> g_object_set_data_full (<span class='macro'>G_OBJECT (ret)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>ret)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"file-info"</span>,</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_object_ref (file_info),</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> (GDestroyNotify) g_object_unref);</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='macro'>g_signal_connect (ret, <span class='string_literal'>"activate"</span>,<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> <span class='macro'>G_CALLBACK (open_terminal_callback),<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='macro'>file_info)<span class='macro_popup'>g_signal_connect_data ((ret), ("activate"), (((GCallback) (open_terminal_callback<br>))), (file_info), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='keyword'>return</span> ret;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"><span class='keyword'>static</span> GList *</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line">caja_open_terminal_get_background_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> CajaFileInfo *file_info)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> terminal_file_info = get_terminal_file_info (file_info);</td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> item = open_terminal_menu_item_new (file_info, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 519, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line">GList *</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line">caja_open_terminal_get_file_items (CajaMenuProvider *provider,</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> GtkWidget *window,</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> GList *files)</td></tr>
+<tr class="codeline" data-linenumber="527"><td class="num" id="LN527">527</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="528"><td class="num" id="LN528">528</td><td class="line"> CajaMenuItem *item;</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> TerminalFileInfo terminal_file_info;</td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line"> <span class='keyword'>if</span> (g_list_length (files) != 1 ||</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> (!caja_file_info_is_directory (files-&gt;data) &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_SHORTCUT &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> caja_file_info_get_file_type (files-&gt;data) != G_FILE_TYPE_MOUNTABLE)) {</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> terminal_file_info = get_terminal_file_info (files-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='keyword'>switch</span> (terminal_file_info) {</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_LOCAL:</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_SFTP:</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> item = open_terminal_menu_item_new (files-&gt;data, terminal_file_info, gtk_widget_get_screen (window), <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>return</span> g_list_append (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, item);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_DESKTOP:</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> <span class='keyword'>case</span> FILE_INFO_OTHER:</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { g_assertion_message_expr ("Caja-Open-Terminal", "caja-open-terminal.c"<br>, 550, ((const char*) (__func__)), ((void*)0)); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">caja_open_terminal_run_config (CajaConfigurable *provider)</td></tr>
+<tr class="codeline" data-linenumber="556"><td class="num" id="LN556">556</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="557"><td class="num" id="LN557">557</td><td class="line"> GtkWidget *extconf_dialog, *extconf_content, *extconf_desktophomedir, *extconf_inform1, *extconf_inform2, *extconf_exec;</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> gchar * terminal;</td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> extconf_dialog = gtk_dialog_new ();</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> extconf_content = gtk_dialog_get_content_area (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> extconf_desktophomedir = gtk_check_button_new_with_label (<span class='macro'>_(<span class='string_literal'>"Open at Home if trying to open on desktop"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Open at Home if trying to open on desktop"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> extconf_exec = gtk_entry_new ();</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> extconf_inform1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> extconf_inform2 = gtk_label_new (<span class='macro'>_(<span class='string_literal'>"Terminal application:"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Terminal application:"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> gtk_toggle_button_set_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>, desktop_opens_home_dir ());</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> terminal = default_terminal_application();</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> gtk_entry_set_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>, terminal);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (terminal);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line"> gtk_widget_show (extconf_inform2);</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> gtk_box_set_child_packing (<span class='macro'>GTK_BOX (extconf_inform1)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((extconf_inform1<br>)), ((gtk_box_get_type ()))))))</span></span>, extconf_exec, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0, GTK_PACK_END);</td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> gtk_widget_show (extconf_desktophomedir);</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> gtk_widget_show (extconf_inform1);</td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> gtk_container_add (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> gtk_widget_show (extconf_exec);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> gtk_dialog_add_buttons (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Close"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "Close"))</span></span>, GTK_RESPONSE_OK, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_inform1)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_inform1)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_dialog)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_dialog)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> gtk_container_set_border_width (<span class='macro'>GTK_CONTAINER (extconf_content)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_content)), ((gtk_container_get_type ()))))))</span></span>, 6);</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> gtk_window_set_title (<span class='macro'>GTK_WINDOW (extconf_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"open-terminal Configuration"</span>)<span class='macro_popup'>((char *) g_dgettext ("caja-extensions", "open-terminal Configuration"<br>))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (extconf_dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="594"><td class="num" id="LN594">594</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="595"><td class="num" id="LN595">595</td><td class="line"> set_default_terminal_application (gtk_entry_get_text (<span class='macro'>GTK_ENTRY (extconf_exec)<span class='macro_popup'>((((GtkEntry*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_exec)), ((gtk_entry_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> set_desktop_opens_home_dir (gtk_toggle_button_get_active (<span class='macro'>GTK_TOGGLE_BUTTON (extconf_desktophomedir)<span class='macro_popup'>((((GtkToggleButton*) g_type_check_instance_cast ((GTypeInstance<br>*) ((extconf_desktophomedir)), ((gtk_toggle_button_get_type (<br>)))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (extconf_dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(extconf_dialog)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line">caja_open_terminal_menu_provider_iface_init (CajaMenuProviderIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> iface-&gt;get_background_items = caja_open_terminal_get_background_items;</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> iface-&gt;get_file_items = caja_open_terminal_get_file_items;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line">caja_open_terminal_configurable_iface_init (CajaConfigurableIface *iface)</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> iface-&gt;run_config = caja_open_terminal_run_config;</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line">caja_open_terminal_instance_init (CajaOpenTerminal *cvs)</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">caja_open_terminal_class_init (CajaOpenTerminalClass *class)</td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line">GType</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line">caja_open_terminal_get_type (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> <span class='keyword'>return</span> terminal_type;</td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line">caja_open_terminal_register_type (GTypeModule *module)</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GTypeInfo info = {</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminalClass),</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> (GBaseInitFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> (GBaseFinalizeFunc) <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> (GClassInitFunc) caja_open_terminal_class_init,</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>sizeof</span> (CajaOpenTerminal),</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> 0,</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> (GInstanceInitFunc) caja_open_terminal_instance_init,</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo menu_provider_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_menu_provider_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>const</span> GInterfaceInfo configurable_iface_info = {</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> (GInterfaceInitFunc) caja_open_terminal_configurable_iface_init,</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> terminal_type = g_type_module_register_type (module,</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> <span class='macro'>G_TYPE_OBJECT<span class='macro_popup'>((GType) ((20) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='string_literal'>"CajaOpenTerminal"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> &amp;info, 0);</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> <span class='macro'>CAJA_TYPE_MENU_PROVIDER<span class='macro_popup'>(caja_menu_provider_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"> &amp;menu_provider_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> g_type_module_add_interface (module,</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line"> terminal_type,</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> <span class='macro'>CAJA_TYPE_CONFIGURABLE<span class='macro_popup'>(caja_configurable_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line"> &amp;configurable_iface_info);</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/2020-06-26-232255-6106-1@a92e7aa4e086_master/scanview.css b/2020-06-26-232255-6106-1@a92e7aa4e086_master/scanview.css
new file mode 100644
index 0000000..cf8a5a6
--- /dev/null
+++ b/2020-06-26-232255-6106-1@a92e7aa4e086_master/scanview.css
@@ -0,0 +1,62 @@
+body { color:#000000; background-color:#ffffff }
+body { font-family: Helvetica, sans-serif; font-size:9pt }
+h1 { font-size: 14pt; }
+h2 { font-size: 12pt; }
+table { font-size:9pt }
+table { border-spacing: 0px; border: 1px solid black }
+th, table thead {
+ background-color:#eee; color:#666666;
+ font-weight: bold; cursor: default;
+ text-align:center;
+ font-weight: bold; font-family: Verdana;
+ white-space:nowrap;
+}
+.W { font-size:0px }
+th, td { padding:5px; padding-left:8px; text-align:left }
+td.SUMM_DESC { padding-left:12px }
+td.DESC { white-space:pre }
+td.Q { text-align:right }
+td { text-align:left }
+tbody.scrollContent { overflow:auto }
+
+table.form_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+table.form_inner_group {
+ background-color: #ccc;
+ border: 1px solid #333;
+ padding: 0px;
+}
+
+table.form {
+ background-color: #999;
+ border: 1px solid #333;
+ padding: 2px;
+}
+
+td.form_label {
+ text-align: right;
+ vertical-align: top;
+}
+/* For one line entires */
+td.form_clabel {
+ text-align: right;
+ vertical-align: center;
+}
+td.form_value {
+ text-align: left;
+ vertical-align: top;
+}
+td.form_submit {
+ text-align: right;
+ vertical-align: top;
+}
+
+h1.SubmitFail {
+ color: #f00;
+}
+h1.SubmitOk {
+}
diff --git a/2020-06-26-232255-6106-1@a92e7aa4e086_master/sorttable.js b/2020-06-26-232255-6106-1@a92e7aa4e086_master/sorttable.js
new file mode 100644
index 0000000..32faa07
--- /dev/null
+++ b/2020-06-26-232255-6106-1@a92e7aa4e086_master/sorttable.js
@@ -0,0 +1,492 @@
+/*
+ SortTable
+ version 2
+ 7th April 2007
+ Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
+
+ Instructions:
+ Download this file
+ Add <script src="sorttable.js"></script> to your HTML
+ Add class="sortable" to any table you'd like to make sortable
+ Click on the headers to sort
+
+ Thanks to many, many people for contributions and suggestions.
+ Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
+ This basically means: do what you want with it.
+*/
+
+
+var stIsIE = /*@cc_on!@*/false;
+
+sorttable = {
+ init: function() {
+ // quit if this function has already been called
+ if (arguments.callee.done) return;
+ // flag this function so we don't do the same thing twice
+ arguments.callee.done = true;
+ // kill the timer
+ if (_timer) clearInterval(_timer);
+
+ if (!document.createElement || !document.getElementsByTagName) return;
+
+ sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
+
+ forEach(document.getElementsByTagName('table'), function(table) {
+ if (table.className.search(/\bsortable\b/) != -1) {
+ sorttable.makeSortable(table);
+ }
+ });
+
+ },
+
+ makeSortable: function(table) {
+ if (table.getElementsByTagName('thead').length == 0) {
+ // table doesn't have a tHead. Since it should have, create one and
+ // put the first table row in it.
+ the = document.createElement('thead');
+ the.appendChild(table.rows[0]);
+ table.insertBefore(the,table.firstChild);
+ }
+ // Safari doesn't support table.tHead, sigh
+ if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
+
+ if (table.tHead.rows.length != 1) return; // can't cope with two header rows
+
+ // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
+ // "total" rows, for example). This is B&R, since what you're supposed
+ // to do is put them in a tfoot. So, if there are sortbottom rows,
+ // for backward compatibility, move them to tfoot (creating it if needed).
+ sortbottomrows = [];
+ for (var i=0; i<table.rows.length; i++) {
+ if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
+ sortbottomrows[sortbottomrows.length] = table.rows[i];
+ }
+ }
+ if (sortbottomrows) {
+ if (table.tFoot == null) {
+ // table doesn't have a tfoot. Create one.
+ tfo = document.createElement('tfoot');
+ table.appendChild(tfo);
+ }
+ for (var i=0; i<sortbottomrows.length; i++) {
+ tfo.appendChild(sortbottomrows[i]);
+ }
+ delete sortbottomrows;
+ }
+
+ // work through each column and calculate its type
+ headrow = table.tHead.rows[0].cells;
+ for (var i=0; i<headrow.length; i++) {
+ // manually override the type with a sorttable_type attribute
+ if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
+ mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
+ if (mtch) { override = mtch[1]; }
+ if (mtch && typeof sorttable["sort_"+override] == 'function') {
+ headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
+ } else {
+ headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
+ }
+ // make it clickable to sort
+ headrow[i].sorttable_columnindex = i;
+ headrow[i].sorttable_tbody = table.tBodies[0];
+ dean_addEvent(headrow[i],"click", function(e) {
+
+ if (this.className.search(/\bsorttable_sorted\b/) != -1) {
+ // if we're already sorted by this column, just
+ // reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted',
+ 'sorttable_sorted_reverse');
+ this.removeChild(document.getElementById('sorttable_sortfwdind'));
+ sortrevind = document.createElement('span');
+ sortrevind.id = "sorttable_sortrevind";
+ sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
+ this.appendChild(sortrevind);
+ return;
+ }
+ if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
+ // if we're already sorted by this column in reverse, just
+ // re-reverse the table, which is quicker
+ sorttable.reverse(this.sorttable_tbody);
+ this.className = this.className.replace('sorttable_sorted_reverse',
+ 'sorttable_sorted');
+ this.removeChild(document.getElementById('sorttable_sortrevind'));
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+ return;
+ }
+
+ // remove sorttable_sorted classes
+ theadrow = this.parentNode;
+ forEach(theadrow.childNodes, function(cell) {
+ if (cell.nodeType == 1) { // an element
+ cell.className = cell.className.replace('sorttable_sorted_reverse','');
+ cell.className = cell.className.replace('sorttable_sorted','');
+ }
+ });
+ sortfwdind = document.getElementById('sorttable_sortfwdind');
+ if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
+ sortrevind = document.getElementById('sorttable_sortrevind');
+ if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
+
+ this.className += ' sorttable_sorted';
+ sortfwdind = document.createElement('span');
+ sortfwdind.id = "sorttable_sortfwdind";
+ sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
+ this.appendChild(sortfwdind);
+
+ // build an array to sort. This is a Schwartzian transform thing,
+ // i.e., we "decorate" each row with the actual sort key,
+ // sort based on the sort keys, and then put the rows back in order
+ // which is a lot faster because you only do getInnerText once per row
+ row_array = [];
+ col = this.sorttable_columnindex;
+ rows = this.sorttable_tbody.rows;
+ for (var j=0; j<rows.length; j++) {
+ row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
+ }
+ /* If you want a stable sort, uncomment the following line */
+ sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
+ /* and comment out this one */
+ //row_array.sort(this.sorttable_sortfunction);
+
+ tb = this.sorttable_tbody;
+ for (var j=0; j<row_array.length; j++) {
+ tb.appendChild(row_array[j][1]);
+ }
+
+ delete row_array;
+ });
+ }
+ }
+ },
+
+ guessType: function(table, column) {
+ // guess the type of a column based on its first non-blank row
+ sortfn = sorttable.sort_alpha;
+ for (var i=0; i<table.tBodies[0].rows.length; i++) {
+ text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
+ if (text != '') {
+ if (text.match(/^-?[�$�]?[\d,.]+%?$/)) {
+ return sorttable.sort_numeric;
+ }
+ // check for a date: dd/mm/yyyy or dd/mm/yy
+ // can have / or . or - as separator
+ // can be mm/dd as well
+ possdate = text.match(sorttable.DATE_RE)
+ if (possdate) {
+ // looks like a date
+ first = parseInt(possdate[1]);
+ second = parseInt(possdate[2]);
+ if (first > 12) {
+ // definitely dd/mm
+ return sorttable.sort_ddmm;
+ } else if (second > 12) {
+ return sorttable.sort_mmdd;
+ } else {
+ // looks like a date, but we can't tell which, so assume
+ // that it's dd/mm (English imperialism!) and keep looking
+ sortfn = sorttable.sort_ddmm;
+ }
+ }
+ }
+ }
+ return sortfn;
+ },
+
+ getInnerText: function(node) {
+ // gets the text we want to use for sorting for a cell.
+ // strips leading and trailing whitespace.
+ // this is *not* a generic getInnerText function; it's special to sorttable.
+ // for example, you can override the cell text with a customkey attribute.
+ // it also gets .value for <input> fields.
+
+ hasInputs = (typeof node.getElementsByTagName == 'function') &&
+ node.getElementsByTagName('input').length;
+
+ if (node.getAttribute("sorttable_customkey") != null) {
+ return node.getAttribute("sorttable_customkey");
+ }
+ else if (typeof node.textContent != 'undefined' && !hasInputs) {
+ return node.textContent.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.innerText != 'undefined' && !hasInputs) {
+ return node.innerText.replace(/^\s+|\s+$/g, '');
+ }
+ else if (typeof node.text != 'undefined' && !hasInputs) {
+ return node.text.replace(/^\s+|\s+$/g, '');
+ }
+ else {
+ switch (node.nodeType) {
+ case 3:
+ if (node.nodeName.toLowerCase() == 'input') {
+ return node.value.replace(/^\s+|\s+$/g, '');
+ }
+ case 4:
+ return node.nodeValue.replace(/^\s+|\s+$/g, '');
+ break;
+ case 1:
+ case 11:
+ var innerText = '';
+ for (var i = 0; i < node.childNodes.length; i++) {
+ innerText += sorttable.getInnerText(node.childNodes[i]);
+ }
+ return innerText.replace(/^\s+|\s+$/g, '');
+ break;
+ default:
+ return '';
+ }
+ }
+ },
+
+ reverse: function(tbody) {
+ // reverse the rows in a tbody
+ newrows = [];
+ for (var i=0; i<tbody.rows.length; i++) {
+ newrows[newrows.length] = tbody.rows[i];
+ }
+ for (var i=newrows.length-1; i>=0; i--) {
+ tbody.appendChild(newrows[i]);
+ }
+ delete newrows;
+ },
+
+ /* sort functions
+ each sort function takes two parameters, a and b
+ you are comparing a[0] and b[0] */
+ sort_numeric: function(a,b) {
+ aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(aa)) aa = 0;
+ bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
+ if (isNaN(bb)) bb = 0;
+ return aa-bb;
+ },
+ sort_alpha: function(a,b) {
+ if (a[0]==b[0]) return 0;
+ if (a[0]<b[0]) return -1;
+ return 1;
+ },
+ sort_ddmm: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; m = mtch[2]; d = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+ sort_mmdd: function(a,b) {
+ mtch = a[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt1 = y+m+d;
+ mtch = b[0].match(sorttable.DATE_RE);
+ y = mtch[3]; d = mtch[2]; m = mtch[1];
+ if (m.length == 1) m = '0'+m;
+ if (d.length == 1) d = '0'+d;
+ dt2 = y+m+d;
+ if (dt1==dt2) return 0;
+ if (dt1<dt2) return -1;
+ return 1;
+ },
+
+ shaker_sort: function(list, comp_func) {
+ // A stable sort function to allow multi-level sorting of data
+ // see: http://en.wikipedia.org/wiki/Cocktail_sort
+ // thanks to Joseph Nahmias
+ var b = 0;
+ var t = list.length - 1;
+ var swap = true;
+
+ while(swap) {
+ swap = false;
+ for(var i = b; i < t; ++i) {
+ if ( comp_func(list[i], list[i+1]) > 0 ) {
+ var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
+ swap = true;
+ }
+ } // for
+ t--;
+
+ if (!swap) break;
+
+ for(var i = t; i > b; --i) {
+ if ( comp_func(list[i], list[i-1]) < 0 ) {
+ var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
+ swap = true;
+ }
+ } // for
+ b++;
+
+ } // while(swap)
+ }
+}
+
+/* ******************************************************************
+ Supporting functions: bundled here to avoid depending on a library
+ ****************************************************************** */
+
+// Dean Edwards/Matthias Miller/John Resig
+
+/* for Mozilla/Opera9 */
+if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", sorttable.init, false);
+}
+
+/* for Internet Explorer */
+/*@cc_on @*/
+/*@if (@_win32)
+ document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
+ var script = document.getElementById("__ie_onload");
+ script.onreadystatechange = function() {
+ if (this.readyState == "complete") {
+ sorttable.init(); // call the onload handler
+ }
+ };
+/*@end @*/
+
+/* for Safari */
+if (/WebKit/i.test(navigator.userAgent)) { // sniff
+ var _timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ sorttable.init(); // call the onload handler
+ }
+ }, 10);
+}
+
+/* for other browsers */
+window.onload = sorttable.init;
+
+// written by Dean Edwards, 2005
+// with input from Tino Zijdel, Matthias Miller, Diego Perini
+
+// http://dean.edwards.name/weblog/2005/10/add-event/
+
+function dean_addEvent(element, type, handler) {
+ if (element.addEventListener) {
+ element.addEventListener(type, handler, false);
+ } else {
+ // assign each event handler a unique ID
+ if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
+ // create a hash table of event types for the element
+ if (!element.events) element.events = {};
+ // create a hash table of event handlers for each element/event pair
+ var handlers = element.events[type];
+ if (!handlers) {
+ handlers = element.events[type] = {};
+ // store the existing event handler (if there is one)
+ if (element["on" + type]) {
+ handlers[0] = element["on" + type];
+ }
+ }
+ // store the event handler in the hash table
+ handlers[handler.$$guid] = handler;
+ // assign a global event handler to do all the work
+ element["on" + type] = handleEvent;
+ }
+};
+// a counter used to create unique IDs
+dean_addEvent.guid = 1;
+
+function removeEvent(element, type, handler) {
+ if (element.removeEventListener) {
+ element.removeEventListener(type, handler, false);
+ } else {
+ // delete the event handler from the hash table
+ if (element.events && element.events[type]) {
+ delete element.events[type][handler.$$guid];
+ }
+ }
+};
+
+function handleEvent(event) {
+ var returnValue = true;
+ // grab the event object (IE uses a global event object)
+ event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
+ // get a reference to the hash table of event handlers
+ var handlers = this.events[event.type];
+ // execute each event handler
+ for (var i in handlers) {
+ this.$$handleEvent = handlers[i];
+ if (this.$$handleEvent(event) === false) {
+ returnValue = false;
+ }
+ }
+ return returnValue;
+};
+
+function fixEvent(event) {
+ // add W3C standard event methods
+ event.preventDefault = fixEvent.preventDefault;
+ event.stopPropagation = fixEvent.stopPropagation;
+ return event;
+};
+fixEvent.preventDefault = function() {
+ this.returnValue = false;
+};
+fixEvent.stopPropagation = function() {
+ this.cancelBubble = true;
+}
+
+// Dean's forEach: http://dean.edwards.name/base/forEach.js
+/*
+ forEach, version 1.0
+ Copyright 2006, Dean Edwards
+ License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+// array-like enumeration
+if (!Array.forEach) { // mozilla already supports this
+ Array.forEach = function(array, block, context) {
+ for (var i = 0; i < array.length; i++) {
+ block.call(context, array[i], i, array);
+ }
+ };
+}
+
+// generic enumeration
+Function.prototype.forEach = function(object, block, context) {
+ for (var key in object) {
+ if (typeof this.prototype[key] == "undefined") {
+ block.call(context, object[key], key, object);
+ }
+ }
+};
+
+// character enumeration
+String.forEach = function(string, block, context) {
+ Array.forEach(string.split(""), function(chr, index) {
+ block.call(context, chr, index, string);
+ });
+};
+
+// globally resolve forEach enumeration
+var forEach = function(object, block, context) {
+ if (object) {
+ var resolve = Object; // default
+ if (object instanceof Function) {
+ // functions have a "length" property
+ resolve = Function;
+ } else if (object.forEach instanceof Function) {
+ // the object implements a custom forEach method so use that
+ object.forEach(block, context);
+ return;
+ } else if (typeof object == "string") {
+ // the object is a string
+ resolve = String;
+ } else if (typeof object.length == "number") {
+ // the object is array-like
+ resolve = Array;
+ }
+ resolve.forEach(object, block, context);
+ }
+};
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/0.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/0.html
new file mode 100644
index 0000000..afdaa62
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/0.html
@@ -0,0 +1,1574 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: image-converter/caja-image-converter-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-image-converter-resources.c</p>
+<a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-10'> unusedStructMember 10</a><a href='0.html#line-284'> unusedStructMember 284</a><a href='0.html#line-284'> unusedStructMember 284</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.imageconverter&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-120"></a> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-121"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span>
+<a name="line-122"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span>
+<a name="line-123"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-124"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-125"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-126"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-127"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span>
+<a name="line-128"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span>
+<a name="line-129"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span>
+<a name="line-130"></a> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-131"></a> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-132"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-133"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-134"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-135"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-136"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-137"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-138"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-139"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span>
+<a name="line-140"></a> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-141"></a> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span>
+<a name="line-142"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-143"></a> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span>
+<a name="line-144"></a> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span>
+<a name="line-145"></a> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span>
+<a name="line-146"></a> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-147"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span>
+<a name="line-148"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-149"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span>
+<a name="line-150"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span>
+<a name="line-151"></a> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span>
+<a name="line-152"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span>
+<a name="line-153"></a> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-154"></a> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span>
+<a name="line-155"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span>
+<a name="line-156"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-157"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span>
+<a name="line-158"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span>
+<a name="line-159"></a> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-160"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-161"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span>
+<a name="line-162"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-164"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span>
+<a name="line-165"></a> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-166"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-167"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-168"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-169"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span>
+<a name="line-170"></a> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-171"></a> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-172"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-173"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span>
+<a name="line-174"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-175"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-176"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span>
+<a name="line-177"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-178"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-179"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-180"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span>
+<a name="line-181"></a> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-182"></a> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-183"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span>
+<a name="line-184"></a> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-185"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-186"></a> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-187"></a> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-188"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-189"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span>
+<a name="line-190"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span>
+<a name="line-191"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-192"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span>
+<a name="line-193"></a> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span>
+<a name="line-194"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span>
+<a name="line-195"></a> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-196"></a> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span>
+<a name="line-197"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-198"></a> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-199"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span>
+<a name="line-200"></a> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-201"></a> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span>
+<a name="line-202"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-203"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span>
+<a name="line-204"></a> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span>
+<a name="line-205"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-206"></a> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span>
+<a name="line-207"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-208"></a> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-209"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span>
+<a name="line-210"></a> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-211"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-212"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span>
+<a name="line-213"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-214"></a> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span>
+<a name="line-215"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-216"></a> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span>
+<a name="line-217"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-218"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span>
+<a name="line-219"></a> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-220"></a> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-221"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-222"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span>
+<a name="line-223"></a> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span>
+<a name="line-224"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-225"></a> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-226"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-227"></a> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-228"></a> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span>
+<a name="line-229"></a> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-230"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span>
+<a name="line-231"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-232"></a> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-233"></a> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span>
+<a name="line-234"></a> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-235"></a> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span>
+<a name="line-236"></a> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span>
+<a name="line-237"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-238"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span>
+<a name="line-239"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span>
+<a name="line-240"></a> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-241"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span>
+<a name="line-242"></a> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span>
+<a name="line-243"></a> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-244"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span>
+<a name="line-245"></a> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-246"></a> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span>
+<a name="line-247"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span>
+<a name="line-248"></a> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-249"></a> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span>
+<a name="line-250"></a> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span>
+<a name="line-251"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span>
+<a name="line-252"></a> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-253"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span>
+<a name="line-254"></a> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-255"></a> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span>
+<a name="line-256"></a> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span>
+<a name="line-257"></a> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-258"></a> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span>
+<a name="line-259"></a> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span>
+<a name="line-260"></a> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-261"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-262"></a> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span>
+<a name="line-263"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span>
+<a name="line-264"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-265"></a> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-266"></a> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span>
+<a name="line-267"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span>
+<a name="line-268"></a> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-269"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span>
+<a name="line-270"></a> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-271"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span>
+<a name="line-272"></a> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-273"></a> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span>
+<a name="line-274"></a> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span>
+<a name="line-275"></a> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span>
+<a name="line-276"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span>
+<a name="line-277"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-278"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span>
+<a name="line-279"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span>
+<a name="line-280"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span>
+<a name="line-281"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span>
+<a name="line-282"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-283"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-284"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">4329</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">imageconverter_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-285"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-286"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\034\001\000\000\000\000\000\050\011\000\000\000</span><span class="s">&quot;</span>
+<a name="line-287"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\002\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-288"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\005\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-289"></a> <span class="s">&quot;</span><span class="se">\007\000\000\000\113\120\220\013\005\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-290"></a> <span class="s">&quot;</span><span class="se">\004\000\114\000\040\001\000\000\044\001\000\000\362\306\050\375</span><span class="s">&quot;</span>
+<a name="line-291"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\044\001\000\000\024\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-292"></a> <span class="s">&quot;</span><span class="se">\212\007\000\000\137\144\153\207\010\000\000\000\212\007\000\000</span><span class="s">&quot;</span>
+<a name="line-293"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\220\007\000\000\224\007\000\000\176\157\252\021</span><span class="s">&quot;</span>
+<a name="line-294"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\224\007\000\000\013\000\114\000\240\007\000\000</span><span class="s">&quot;</span>
+<a name="line-295"></a> <span class="s">&quot;</span><span class="se">\244\007\000\000\110\122\272\300\003\000\000\000\244\007\000\000</span><span class="s">&quot;</span>
+<a name="line-296"></a> <span class="s">&quot;</span><span class="se">\017\000\114\000\264\007\000\000\300\007\000\000\324\265\002\000</span><span class="s">&quot;</span>
+<a name="line-297"></a> <span class="s">&quot;</span><span class="se">\377\377\377\377\300\007\000\000\001\000\114\000\304\007\000\000</span><span class="s">&quot;</span>
+<a name="line-298"></a> <span class="s">&quot;</span><span class="se">\310\007\000\000\157\174\237\161\004\000\000\000\310\007\000\000</span><span class="s">&quot;</span>
+<a name="line-299"></a> <span class="s">&quot;</span><span class="se">\024\000\166\000\340\007\000\000\130\015\000\000\073\056\277\311</span><span class="s">&quot;</span>
+<a name="line-300"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\130\015\000\000\017\000\166\000\150\015\000\000</span><span class="s">&quot;</span>
+<a name="line-301"></a> <span class="s">&quot;</span><span class="se">\334\020\000\000\201\321\040\031\000\000\000\000\334\020\000\000</span><span class="s">&quot;</span>
+<a name="line-302"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\344\020\000\000\350\020\000\000\157\162\147\057</span><span class="s">&quot;</span>
+<a name="line-303"></a> <span class="s">&quot;</span><span class="se">\010\000\000\000\143\141\152\141\055\151\155\141\147\145\055\162</span><span class="s">&quot;</span>
+<a name="line-304"></a> <span class="s">&quot;</span><span class="se">\145\163\151\172\145\056\165\151\316\140\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-305"></a> <span class="s">&quot;</span><span class="se">\170\332\355\135\335\123\343\066\020\177\277\277\302\325\153\047</span><span class="s">&quot;</span>
+<a name="line-306"></a> <span class="s">&quot;</span><span class="se">\304\061\220\206\233\304\067\224\226\153\147\372\164\320\351\243</span><span class="s">&quot;</span>
+<a name="line-307"></a> <span class="s">&quot;</span><span class="se">\107\261\105\242\103\221\134\131\046\111\377\372\312\162\200\204</span><span class="s">&quot;</span>
+<a name="line-308"></a> <span class="s">&quot;</span><span class="se">\370\103\212\015\227\017\061\303\114\160\264\053\355\157\265\253</span><span class="s">&quot;</span>
+<a name="line-309"></a> <span class="s">&quot;</span><span class="se">\335\225\045\206\137\026\063\342\074\041\236\140\106\107\240\167</span><span class="s">&quot;</span>
+<a name="line-310"></a> <span class="s">&quot;</span><span class="se">\346\002\007\321\220\105\230\116\106\340\357\373\333\316\000\174</span><span class="s">&quot;</span>
+<a name="line-311"></a> <span class="s">&quot;</span><span class="se">\361\077\015\177\352\164\234\257\210\042\016\005\212\234\071\026</span><span class="s">&quot;</span>
+<a name="line-312"></a> <span class="s">&quot;</span><span class="se">\123\147\102\140\204\234\363\063\317\073\363\234\116\107\066\302</span><span class="s">&quot;</span>
+<a name="line-313"></a> <span class="s">&quot;</span><span class="se">\124\040\376\000\103\344\177\162\234\041\107\377\246\230\243\304</span><span class="s">&quot;</span>
+<a name="line-314"></a> <span class="s">&quot;</span><span class="se">\041\170\074\002\023\361\370\063\170\355\050\043\003\135\325\216</span><span class="s">&quot;</span>
+<a name="line-315"></a> <span class="s">&quot;</span><span class="se">\215\277\243\120\070\041\201\111\062\002\137\305\343\165\364\075</span><span class="s">&quot;</span>
+<a name="line-316"></a> <span class="s">&quot;</span><span class="se">\115\304\014\121\001\034\034\215\000\174\371\273\007\062\012\111</span><span class="s">&quot;</span>
+<a name="line-317"></a> <span class="s">&quot;</span><span class="se">\023\163\026\043\056\226\016\205\063\064\002\204\315\021\007\176</span><span class="s">&quot;</span>
+<a name="line-318"></a> <span class="s">&quot;</span><span class="se">\157\330\175\376\242\270\135\032\307\252\235\353\326\265\174\202</span><span class="s">&quot;</span>
+<a name="line-319"></a> <span class="s">&quot;</span><span class="se">\044\105\300\277\254\155\230\010\024\007\230\206\034\251\001\327</span><span class="s">&quot;</span>
+<a name="line-320"></a> <span class="s">&quot;</span><span class="se">\217\041\206\023\264\101\360\246\213\141\067\007\304\024\033\257</span><span class="s">&quot;</span>
+<a name="line-321"></a> <span class="s">&quot;</span><span class="se">\035\154\256\344\217\046\070\022\306\303\201\347\334\302\043\036</span><span class="s">&quot;</span>
+<a name="line-322"></a> <span class="s">&quot;</span><span class="se">\377\234\111\362\034\031\234\175\054\263\247\047\234\340\061\221</span><span class="s">&quot;</span>
+<a name="line-323"></a> <span class="s">&quot;</span><span class="se">\062\334\363\024\325\015\051\204\064\170\140\141\232\000\377\026</span><span class="s">&quot;</span>
+<a name="line-324"></a> <span class="s">&quot;</span><span class="se">\222\244\266\075\016\031\015\262\217\300\227\116\241\043\311\103</span><span class="s">&quot;</span>
+<a name="line-325"></a> <span class="s">&quot;</span><span class="se">\104\114\244\370\015\103\302\046\271\030\322\277\340\377\120\020</span><span class="s">&quot;</span>
+<a name="line-326"></a> <span class="s">&quot;</span><span class="se">\345\217\332\031\240\300\102\312\356\010\016\151\102\240\200\022</span><span class="s">&quot;</span>
+<a name="line-327"></a> <span class="s">&quot;</span><span class="se">\211\021\130\042\111\376\115\365\346\050\030\223\132\066\313\030</span><span class="s">&quot;</span>
+<a name="line-328"></a> <span class="s">&quot;</span><span class="se">\005\123\234\151\051\037\336\026\101\070\305\044\312\077\147\344</span><span class="s">&quot;</span>
+<a name="line-329"></a> <span class="s">&quot;</span><span class="se">\104\172\316\051\043\021\342\335\125\203\356\132\213\274\265\243</span><span class="s">&quot;</span>
+<a name="line-330"></a> <span class="s">&quot;</span><span class="se">\174\054\205\244\243\376\224\252\032\263\005\170\341\261\205\325</span><span class="s">&quot;</span>
+<a name="line-331"></a> <span class="s">&quot;</span><span class="se">\257\153\337\232\043\123\104\063\203\174\202\151\100\320\103\066</span><span class="s">&quot;</span>
+<a name="line-332"></a> <span class="s">&quot;</span><span class="se">\375\074\003\022\216\047\123\123\032\301\142\103\212\061\023\202</span><span class="s">&quot;</span>
+<a name="line-333"></a> <span class="s">&quot;</span><span class="se">\315\164\211\030\307\322\216\240\220\213\022\360\345\352\044\160</span><span class="s">&quot;</span>
+<a name="line-334"></a> <span class="s">&quot;</span><span class="se">\010\211\016\141\022\303\120\256\221\245\375\024\153\013\206\131</span><span class="s">&quot;</span>
+<a name="line-335"></a> <span class="s">&quot;</span><span class="se">\117\001\344\010\256\251\245\120\161\251\024\203\156\252\157\127</span><span class="s">&quot;</span>
+<a name="line-336"></a> <span class="s">&quot;</span><span class="se">\025\026\372\075\270\144\251\010\022\261\314\354\034\321\250\224</span><span class="s">&quot;</span>
+<a name="line-337"></a> <span class="s">&quot;</span><span class="se">\160\143\226\326\015\070\267\312\261\372\334\003\157\251\212\206</span><span class="s">&quot;</span>
+<a name="line-338"></a> <span class="s">&quot;</span><span class="se">\061\106\244\320\326\202\233\002\307\120\315\254\322\155\151\202</span><span class="s">&quot;</span>
+<a name="line-339"></a> <span class="s">&quot;</span><span class="se">\150\112\312\121\210\360\023\112\202\010\075\300\224\010\163\016</span><span class="s">&quot;</span>
+<a name="line-340"></a> <span class="s">&quot;</span><span class="se">\312\023\003\077\167\310\046\204\151\202\202\224\112\167\101\060</span><span class="s">&quot;</span>
+<a name="line-341"></a> <span class="s">&quot;</span><span class="se">\335\101\150\110\346\160\231\004\311\224\315\203\325\030\252\131</span><span class="s">&quot;</span>
+<a name="line-342"></a> <span class="s">&quot;</span><span class="se">\254\173\345\115\306\060\174\224\266\120\337\045\132\304\220\106</span><span class="s">&quot;</span>
+<a name="line-343"></a> <span class="s">&quot;</span><span class="se">\346\103\175\300\204\230\123\305\054\301\271\141\273\125\102\025</span><span class="s">&quot;</span>
+<a name="line-344"></a> <span class="s">&quot;</span><span class="se">\216\176\303\365\066\067\005\257\231\051\344\353\316\361\233\202</span><span class="s">&quot;</span>
+<a name="line-345"></a> <span class="s">&quot;</span><span class="se">\321\214\076\334\351\330\153\143\072\026\211\137\054\172\231\330</span><span class="s">&quot;</span>
+<a name="line-346"></a> <span class="s">&quot;</span><span class="se">\106\353\105\056\263\021\111\255\375\025\010\273\045\350\266\315</span><span class="s">&quot;</span>
+<a name="line-347"></a> <span class="s">&quot;</span><span class="se">\325\005\071\073\233\103\133\113\253\166\114\261\103\134\141\342</span><span class="s">&quot;</span>
+<a name="line-348"></a> <span class="s">&quot;</span><span class="se">\206\156\271\012\262\077\304\127\124\002\124\352\355\202\005\044</span><span class="s">&quot;</span>
+<a name="line-349"></a> <span class="s">&quot;</span><span class="se">\170\122\355\240\013\040\232\302\110\256\131\131\174\015\174\312</span><span class="s">&quot;</span>
+<a name="line-350"></a> <span class="s">&quot;</span><span class="se">\150\165\277\205\140\025\003\166\235\015\046\317\253\012\332\067</span><span class="s">&quot;</span>
+<a name="line-351"></a> <span class="s">&quot;</span><span class="se">\000\256\051\170\205\000\312\000\074\210\141\024\325\314\226\172</span><span class="s">&quot;</span>
+<a name="line-352"></a> <span class="s">&quot;</span><span class="se">\040\164\215\252\065\050\332\200\243\056\147\030\354\302\300\310</span><span class="s">&quot;</span>
+<a name="line-353"></a> <span class="s">&quot;</span><span class="se">\162\265\254\130\157\030\225\252\331\105\075\255\250\250\055\065</span><span class="s">&quot;</span>
+<a name="line-354"></a> <span class="s">&quot;</span><span class="se">\065\007\110\017\244\142\240\276\301\010\263\365\210\154\025\235</span><span class="s">&quot;</span>
+<a name="line-355"></a> <span class="s">&quot;</span><span class="se">\004\252\160\300\263\157\363\030\015\324\361\066\011\331\356\020</span><span class="s">&quot;</span>
+<a name="line-356"></a> <span class="s">&quot;</span><span class="se">\311\206\001\235\254\227\317\272\062\266\246\266\206\221\235\171</span><span class="s">&quot;</span>
+<a name="line-357"></a> <span class="s">&quot;</span><span class="se">\244\147\064\031\212\130\116\127\053\101\042\040\027\115\030\145</span><span class="s">&quot;</span>
+<a name="line-358"></a> <span class="s">&quot;</span><span class="se">\051\366\123\013\160\105\034\312\274\210\106\322\005\010\306\115</span><span class="s">&quot;</span>
+<a name="line-359"></a> <span class="s">&quot;</span><span class="se">\371\225\005\247\333\275\226\005\253\272\301\153\143\344\365\242</span><span class="s">&quot;</span>
+<a name="line-360"></a> <span class="s">&quot;</span><span class="se">\331\126\222\255\155\224\264\304\057\114\306\332\362\017\067\154</span><span class="s">&quot;</span>
+<a name="line-361"></a> <span class="s">&quot;</span><span class="se">\066\146\322\233\336\243\305\252\150\034\146\117\306\154\041\344</span><span class="s">&quot;</span>
+<a name="line-362"></a> <span class="s">&quot;</span><span class="se">\023\345\045\300\176\130\155\013\066\226\004\162\175\343\313\346</span><span class="s">&quot;</span>
+<a name="line-363"></a> <span class="s">&quot;</span><span class="se">\303\122\154\002\205\120\310\110\072\063\323\273\344\207\005\232</span><span class="s">&quot;</span>
+<a name="line-364"></a> <span class="s">&quot;</span><span class="se">\045\365\355\126\055\375\253\376\342\252\077\354\252\317\332\104</span><span class="s">&quot;</span>
+<a name="line-365"></a> <span class="s">&quot;</span><span class="se">\075\157\260\220\277\246\144\375\013\167\161\061\160\115\311\006</span><span class="s">&quot;</span>
+<a name="line-366"></a> <span class="s">&quot;</span><span class="se">\256\273\350\273\306\144\075\327\273\130\374\322\037\354\040\234</span><span class="s">&quot;</span>
+<a name="line-367"></a> <span class="s">&quot;</span><span class="se">\053\061\061\357\257\057\351\172\356\245\071\341\225\047\011\075</span><span class="s">&quot;</span>
+<a name="line-368"></a> <span class="s">&quot;</span><span class="se">\175\011\363\166\032\112\056\051\226\256\246\252\316\000\267\254</span><span class="s">&quot;</span>
+<a name="line-369"></a> <span class="s">&quot;</span><span class="se">\372\167\105\273\141\316\212\135\107\237\151\253\053\250\376\212</span><span class="s">&quot;</span>
+<a name="line-370"></a> <span class="s">&quot;</span><span class="se">\240\351\356\076\162\211\151\352\054\332\136\141\172\207\265\302</span><span class="s">&quot;</span>
+<a name="line-371"></a> <span class="s">&quot;</span><span class="se">\374\245\242\304\043\131\103\312\103\336\030\057\020\111\154\210</span><span class="s">&quot;</span>
+<a name="line-372"></a> <span class="s">&quot;</span><span class="se">\244\061\201\275\037\061\201\165\360\326\303\272\025\234\233\143</span><span class="s">&quot;</span>
+<a name="line-373"></a> <span class="s">&quot;</span><span class="se">\334\070\004\325\300\266\026\127\233\273\177\120\356\336\152\166</span><span class="s">&quot;</span>
+<a name="line-374"></a> <span class="s">&quot;</span><span class="se">\036\102\142\263\362\323\313\312\267\371\115\070\113\143\340\227</span><span class="s">&quot;</span>
+<a name="line-375"></a> <span class="s">&quot;</span><span class="se">\325\204\354\152\166\174\011\377\135\214\351\172\075\060\016\245</span><span class="s">&quot;</span>
+<a name="line-376"></a> <span class="s">&quot;</span><span class="se">\336\345\263\235\253\200\373\350\013\136\137\174\003\376\332\373</span><span class="s">&quot;</span>
+<a name="line-377"></a> <span class="s">&quot;</span><span class="se">\223\373\070\237\155\166\141\263\013\215\354\002\361\120\316\140</span><span class="s">&quot;</span>
+<a name="line-378"></a> <span class="s">&quot;</span><span class="se">\353\220\155\172\361\303\323\213\236\115\057\216\163\153\120\016</span><span class="s">&quot;</span>
+<a name="line-379"></a> <span class="s">&quot;</span><span class="se">\136\260\331\373\356\014\336\250\076\354\276\240\315\100\154\006</span><span class="s">&quot;</span>
+<a name="line-380"></a> <span class="s">&quot;</span><span class="se">\162\242\031\310\211\204\154\377\340\110\114\077\333\011\174\174</span><span class="s">&quot;</span>
+<a name="line-381"></a> <span class="s">&quot;</span><span class="se">\071\307\333\024\172\236\151\372\124\222\150\317\046\321\173\232</span><span class="s">&quot;</span>
+<a name="line-382"></a> <span class="s">&quot;</span><span class="se">\202\130\217\134\343\221\377\100\331\021\054\353\222\165\146\360</span><span class="s">&quot;</span>
+<a name="line-383"></a> <span class="s">&quot;</span><span class="se">\371\141\273\344\251\122\365\251\370\344\163\353\223\353\147\364</span><span class="s">&quot;</span>
+<a name="line-384"></a> <span class="s">&quot;</span><span class="se">\205\365\311\366\265\211\103\166\311\227\266\256\371\256\165\115</span><span class="s">&quot;</span>
+<a name="line-385"></a> <span class="s">&quot;</span><span class="se">\357\243\352\232\325\230\126\020\227\023\226\022\255\136\056\314</span><span class="s">&quot;</span>
+<a name="line-386"></a> <span class="s">&quot;</span><span class="se">\116\013\075\233\241\336\151\240\052\377\263\137\047\201\112\175</span><span class="s">&quot;</span>
+<a name="line-387"></a> <span class="s">&quot;</span><span class="se">\213\272\250\300\271\253\071\073\252\170\102\041\070\226\221\002</span><span class="s">&quot;</span>
+<a name="line-388"></a> <span class="s">&quot;</span><span class="se">\052\175\137\363\265\311\252\337\271\012\061\200\243\356\273\030</span><span class="s">&quot;</span>
+<a name="line-389"></a> <span class="s">&quot;</span><span class="se">\201\061\043\021\350\226\251\264\232\277\261\136\333\073\374\151</span><span class="s">&quot;</span>
+<a name="line-390"></a> <span class="s">&quot;</span><span class="se">\174\162\355\300\016\043\333\123\200\216\075\005\250\031\214\331</span><span class="s">&quot;</span>
+<a name="line-391"></a> <span class="s">&quot;</span><span class="se">\123\200\366\024\340\211\154\365\301\070\106\064\172\267\135\276</span><span class="s">&quot;</span>
+<a name="line-392"></a> <span class="s">&quot;</span><span class="se">\153\305\336\356\357\235\332\376\236\335\204\073\224\362\302\332</span><span class="s">&quot;</span>
+<a name="line-393"></a> <span class="s">&quot;</span><span class="se">\011\241\114\222\100\367\140\320\041\330\251\120\147\031\013\334</span><span class="s">&quot;</span>
+<a name="line-394"></a> <span class="s">&quot;</span><span class="se">\322\131\176\137\132\144\313\145\107\267\047\167\042\345\062\301</span><span class="s">&quot;</span>
+<a name="line-395"></a> <span class="s">&quot;</span><span class="se">\034\251\150\344\250\113\372\254\137\336\327\255\070\173\330\250</span><span class="s">&quot;</span>
+<a name="line-396"></a> <span class="s">&quot;</span><span class="se">\375\252\331\156\051\302\126\344\213\251\272\151\322\040\364\325</span><span class="s">&quot;</span>
+<a name="line-397"></a> <span class="s">&quot;</span><span class="se">\267\316\325\005\231\230\072\252\217\135\301\155\073\111\151\302</span><span class="s">&quot;</span>
+<a name="line-398"></a> <span class="s">&quot;</span><span class="se">\246\141\314\333\112\274\333\106\254\333\146\234\133\362\016\333</span><span class="s">&quot;</span>
+<a name="line-399"></a> <span class="s">&quot;</span><span class="se">\166\116\245\153\032\366\325\141\133\142\077\314\022\373\255\014</span><span class="s">&quot;</span>
+<a name="line-400"></a> <span class="s">&quot;</span><span class="se">\106\262\066\266\300\276\067\005\366\303\275\136\321\344\166\302</span><span class="s">&quot;</span>
+<a name="line-401"></a> <span class="s">&quot;</span><span class="se">\132\171\353\157\127\334\224\161\363\266\351\374\246\342\316\034</span><span class="s">&quot;</span>
+<a name="line-402"></a> <span class="s">&quot;</span><span class="se">\107\023\044\136\246\324\346\143\107\146\223\061\243\211\034\115</span><span class="s">&quot;</span>
+<a name="line-403"></a> <span class="s">&quot;</span><span class="se">\247\017\374\325\255\277\162\052\256\067\252\047\275\174\046\365</span><span class="s">&quot;</span>
+<a name="line-404"></a> <span class="s">&quot;</span><span class="se">\012\111\337\074\114\066\057\010\037\166\327\376\353\300\377\016</span><span class="s">&quot;</span>
+<a name="line-405"></a> <span class="s">&quot;</span><span class="se">\226\320\061\000\050\165\165\141\171\051\143\141\152\141\057\000</span><span class="s">&quot;</span>
+<a name="line-406"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\145\170\164\145\156\163\151\157\156\163\057\000</span><span class="s">&quot;</span>
+<a name="line-407"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\151\155\141\147\145\143\157\156\166\145\162\164</span><span class="s">&quot;</span>
+<a name="line-408"></a> <span class="s">&quot;</span><span class="se">\145\162\057\000\001\000\000\000\006\000\000\000\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-409"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\000\000\000\000\143\141\152\141\055\151\155\141</span><span class="s">&quot;</span>
+<a name="line-410"></a> <span class="s">&quot;</span><span class="se">\147\145\055\162\157\164\141\164\145\056\165\151\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-411"></a> <span class="s">&quot;</span><span class="se">\045\105\000\000\001\000\000\000\170\332\355\134\315\162\333\066</span><span class="s">&quot;</span>
+<a name="line-412"></a> <span class="s">&quot;</span><span class="se">\020\276\347\051\120\134\073\262\176\062\315\070\035\211\031\327</span><span class="s">&quot;</span>
+<a name="line-413"></a> <span class="s">&quot;</span><span class="se">\255\063\235\351\051\161\316\034\210\134\123\210\041\200\005\100</span><span class="s">&quot;</span>
+<a name="line-414"></a> <span class="s">&quot;</span><span class="se">\313\172\253\076\103\237\254\040\050\333\222\005\212\204\310\270</span><span class="s">&quot;</span>
+<a name="line-415"></a> <span class="s">&quot;</span><span class="se">\212\203\233\104\355\056\260\213\305\307\017\013\100\323\017\367</span><span class="s">&quot;</span>
+<a name="line-416"></a> <span class="s">&quot;</span><span class="se">\113\206\356\100\052\052\370\014\217\317\106\030\001\117\104\112</span><span class="s">&quot;</span>
+<a name="line-417"></a> <span class="s">&quot;</span><span class="se">\171\066\303\137\256\257\006\347\370\103\364\146\372\323\140\200</span><span class="s">&quot;</span>
+<a name="line-418"></a> <span class="s">&quot;</span><span class="se">\076\002\007\111\064\244\150\105\365\002\145\214\244\200\336\236</span><span class="s">&quot;</span>
+<a name="line-419"></a> <span class="s">&quot;</span><span class="se">\115\046\147\143\064\030\030\041\312\065\310\033\222\100\364\006</span><span class="s">&quot;</span>
+<a name="line-420"></a> <span class="s">&quot;</span><span class="se">\241\251\204\277\013\052\101\041\106\347\063\234\351\333\237\361</span><span class="s">&quot;</span>
+<a name="line-421"></a> <span class="s">&quot;</span><span class="se">\123\103\245\032\036\132\071\061\377\012\211\106\011\043\112\315</span><span class="s">&quot;</span>
+<a name="line-422"></a> <span class="s">&quot;</span><span class="se">\360\107\175\173\221\176\055\224\136\002\327\030\321\164\206\311</span><span class="s">&quot;</span>
+<a name="line-423"></a> <span class="s">&quot;</span><span class="se">\343\367\061\056\065\214\116\056\105\016\122\257\021\047\113\230</span><span class="s">&quot;</span>
+<a name="line-424"></a> <span class="s">&quot;</span><span class="se">\141\046\126\040\161\064\236\016\037\176\160\313\025\171\136\312</span><span class="s">&quot;</span>
+<a name="line-425"></a> <span class="s">&quot;</span><span class="se">\275\175\067\152\222\274\043\254\000\034\275\157\024\124\032\362</span><span class="s">&quot;</span>
+<a name="line-426"></a> <span class="s">&quot;</span><span class="se">\230\362\104\202\355\160\163\037\162\222\301\216\302\263\046\246</span><span class="s">&quot;</span>
+<a name="line-427"></a> <span class="s">&quot;</span><span class="se">\303\052\040\356\330\374\271\064\352\125\130\150\371\261\056\042</span><span class="s">&quot;</span>
+<a name="line-428"></a> <span class="s">&quot;</span><span class="se">\167\124\321\071\063\036\134\313\002\232\272\224\020\036\337\210</span><span class="s">&quot;</span>
+<a name="line-429"></a> <span class="s">&quot;</span><span class="se">\244\120\070\272\042\114\065\312\323\104\360\270\374\210\043\363</span><span class="s">&quot;</span>
+<a name="line-430"></a> <span class="s">&quot;</span><span class="se">\113\002\112\015\224\026\271\217\037\277\123\302\104\126\071\042</span><span class="s">&quot;</span>
+<a name="line-431"></a> <span class="s">&quot;</span><span class="se">\205\066\131\025\247\325\243\176\272\250\251\066\336\043\055\011</span><span class="s">&quot;</span>
+<a name="line-432"></a> <span class="s">&quot;</span><span class="se">\127\214\150\142\142\061\303\153\060\352\237\154\153\310\006\122</span><span class="s">&quot;</span>
+<a name="line-433"></a> <span class="s">&quot;</span><span class="se">\065\232\131\347\020\057\150\071\116\125\367\366\024\222\005\145</span><span class="s">&quot;</span>
+<a name="line-434"></a> <span class="s">&quot;</span><span class="se">\151\365\271\124\147\046\373\027\202\245\040\207\033\201\341\226</span><span class="s">&quot;</span>
+<a name="line-435"></a> <span class="s">&quot;</span><span class="se">\104\045\215\354\074\341\204\015\354\127\063\130\163\161\217\037</span><span class="s">&quot;</span>
+<a name="line-436"></a> <span class="s">&quot;</span><span class="se">\155\354\305\352\267\255\137\375\043\343\322\131\022\231\121\036</span><span class="s">&quot;</span>
+<a name="line-437"></a> <span class="s">&quot;</span><span class="se">\063\270\051\023\160\342\241\042\151\266\360\325\061\251\341\251</span><span class="s">&quot;</span>
+<a name="line-438"></a> <span class="s">&quot;</span><span class="se">\061\027\132\213\145\133\045\041\251\231\111\104\033\140\301\221</span><span class="s">&quot;</span>
+<a name="line-439"></a> <span class="s">&quot;</span><span class="se">\101\030\115\023\302\332\050\252\234\044\006\347\160\164\356\224</span><span class="s">&quot;</span>
+<a name="line-440"></a> <span class="s">&quot;</span><span class="se">\166\017\026\111\312\206\142\042\201\154\215\212\163\334\012\343</span><span class="s">&quot;</span>
+<a name="line-441"></a> <span class="s">&quot;</span><span class="se">\005\337\035\275\143\107\320\211\172\144\055\012\035\053\275\056</span><span class="s">&quot;</span>
+<a name="line-442"></a> <span class="s">&quot;</span><span class="se">\047\072\360\264\126\161\047\111\233\072\134\115\312\271\375\074</span><span class="s">&quot;</span>
+<a name="line-443"></a> <span class="s">&quot;</span><span class="se">\306\317\265\134\335\230\003\163\116\265\370\222\360\004\130\135</span><span class="s">&quot;</span>
+<a name="line-444"></a> <span class="s">&quot;</span><span class="se">\267\274\161\253\145\020\175\125\045\044\100\357\100\305\051\334</span><span class="s">&quot;</span>
+<a name="line-445"></a> <span class="s">&quot;</span><span class="se">\220\202\151\177\013\026\212\161\124\041\262\217\142\241\040\056</span><span class="s">&quot;</span>
+<a name="line-446"></a> <span class="s">&quot;</span><span class="se">\270\101\013\106\171\243\323\333\210\272\153\224\044\267\046\217</span><span class="s">&quot;</span>
+<a name="line-447"></a> <span class="s">&quot;</span><span class="se">\233\233\203\373\234\360\324\337\277\033\312\230\277\126\056\024</span><span class="s">&quot;</span>
+<a name="line-448"></a> <span class="s">&quot;</span><span class="se">\255\046\345\370\220\123\316\336\357\300\146\367\074\236\164\313</span><span class="s">&quot;</span>
+<a name="line-449"></a> <span class="s">&quot;</span><span class="se">\343\352\235\361\372\363\370\007\111\307\111\037\351\350\162\337</span><span class="s">&quot;</span>
+<a name="line-450"></a> <span class="s">&quot;</span><span class="se">\355\172\235\333\136\140\137\371\354\245\362\344\360\310\255\342</span><span class="s">&quot;</span>
+<a name="line-451"></a> <span class="s">&quot;</span><span class="se">\160\166\317\321\375\071\327\104\120\216\236\016\175\275\027\133</span><span class="s">&quot;</span>
+<a name="line-452"></a> <span class="s">&quot;</span><span class="se">\363\201\203\234\140\074\351\372\072\275\222\226\042\277\010\126</span><span class="s">&quot;</span>
+<a name="line-453"></a> <span class="s">&quot;</span><span class="se">\034\014\120\055\332\305\367\204\321\254\076\101\152\102\264\040</span><span class="s">&quot;</span>
+<a name="line-454"></a> <span class="s">&quot;</span><span class="se">\251\130\305\045\067\306\021\027\374\160\273\316\140\271\003\166</span><span class="s">&quot;</span>
+<a name="line-455"></a> <span class="s">&quot;</span><span class="se">\121\166\246\132\025\071\344\073\004\256\153\360\234\001\064\344</span><span class="s">&quot;</span>
+<a name="line-456"></a> <span class="s">&quot;</span><span class="se">\071\316\111\232\066\144\113\163\040\332\116\252\336\102\321\107</span><span class="s">&quot;</span>
+<a name="line-457"></a> <span class="s">&quot;</span><span class="se">\070\232\370\376\371\061\006\274\146\156\253\131\334\256\033\007</span><span class="s">&quot;</span>
+<a name="line-458"></a> <span class="s">&quot;</span><span class="se">\207\346\230\341\351\145\210\372\032\246\356\001\152\027\044\167</span><span class="s">&quot;</span>
+<a name="line-459"></a> <span class="s">&quot;</span><span class="se">\240\076\221\224\212\155\106\266\141\047\061\341\031\203\130\226</span><span class="s">&quot;</span>
+<a name="line-460"></a> <span class="s">&quot;</span><span class="se">\077\127\044\015\067\031\367\341\154\237\201\225\375\040\034\331</span><span class="s">&quot;</span>
+<a name="line-461"></a> <span class="s">&quot;</span><span class="se">\166\176\155\353\146\157\043\327\221\334\371\223\075\257\174\160</span><span class="s">&quot;</span>
+<a name="line-462"></a> <span class="s">&quot;</span><span class="se">\231\134\154\136\006\112\023\251\273\030\052\227\310\167\075\204</span><span class="s">&quot;</span>
+<a name="line-463"></a> <span class="s">&quot;</span><span class="se">\053\225\144\025\123\236\032\024\320\102\372\332\253\343\247\373</span><span class="s">&quot;</span>
+<a name="line-464"></a> <span class="s">&quot;</span><span class="se">\255\326\361\325\266\374\265\163\344\333\021\332\366\004\167\344</span><span class="s">&quot;</span>
+<a name="line-465"></a> <span class="s">&quot;</span><span class="se">\023\245\126\356\073\327\143\175\101\304\245\130\316\205\001\324</span><span class="s">&quot;</span>
+<a name="line-466"></a> <span class="s">&quot;</span><span class="se">\153\270\177\050\371\132\154\110\312\347\363\106\240\175\251\051</span><span class="s">&quot;</span>
+<a name="line-467"></a> <span class="s">&quot;</span><span class="se">\333\171\230\037\346\305\310\313\010\325\260\124\315\162\033\111</span><span class="s">&quot;</span>
+<a name="line-468"></a> <span class="s">&quot;</span><span class="se">\027\026\276\037\375\373\217\011\267\110\156\127\264\364\240\224</span><span class="s">&quot;</span>
+<a name="line-469"></a> <span class="s">&quot;</span><span class="se">\353\301\240\050\312\322\330\240\117\303\343\163\143\271\255\235</span><span class="s">&quot;</span>
+<a name="line-470"></a> <span class="s">&quot;</span><span class="se">\112\116\235\016\016\164\315\265\276\141\140\374\177\300\100\233</span><span class="s">&quot;</span>
+<a name="line-471"></a> <span class="s">&quot;</span><span class="se">\160\267\013\165\057\160\333\075\306\235\141\266\105\154\033\343</span><span class="s">&quot;</span>
+<a name="line-472"></a> <span class="s">&quot;</span><span class="se">\032\050\352\113\122\124\323\171\055\226\337\230\241\136\332\106</span><span class="s">&quot;</span>
+<a name="line-473"></a> <span class="s">&quot;</span><span class="se">\002\075\375\101\351\351\276\275\114\212\302\254\234\153\327\107</span><span class="s">&quot;</span>
+<a name="line-474"></a> <span class="s">&quot;</span><span class="se">\201\372\276\076\352\373\071\247\174\033\171\252\101\127\346\351</span><span class="s">&quot;</span>
+<a name="line-475"></a> <span class="s">&quot;</span><span class="se">\321\210\163\212\160\360\164\204\003\107\133\307\071\116\061\243</span><span class="s">&quot;</span>
+<a name="line-476"></a> <span class="s">&quot;</span><span class="se">\003\211\353\224\320\177\331\367\335\053\131\260\365\366\312\251</span><span class="s">&quot;</span>
+<a name="line-477"></a> <span class="s">&quot;</span><span class="se">\147\001\051\144\022\100\155\057\317\002\312\167\331\301\013\053</span><span class="s">&quot;</span>
+<a name="line-478"></a> <span class="s">&quot;</span><span class="se">\233\036\126\066\343\227\132\331\034\216\351\001\345\172\305\132</span><span class="s">&quot;</span>
+<a name="line-479"></a> <span class="s">&quot;</span><span class="se">\245\315\201\236\162\337\352\141\106\266\333\227\072\204\151\247</span><span class="s">&quot;</span>
+<a name="line-480"></a> <span class="s">&quot;</span><span class="se">\265\047\125\013\063\366\270\033\262\347\030\150\063\223\234\022</span><span class="s">&quot;</span>
+<a name="line-481"></a> <span class="s">&quot;</span><span class="se">\255\045\065\014\004\152\253\053\117\042\233\266\127\140\217\206</span><span class="s">&quot;</span>
+<a name="line-482"></a> <span class="s">&quot;</span><span class="se">\041\173\162\162\206\347\202\245\170\130\067\254\207\355\173\217</span><span class="s">&quot;</span>
+<a name="line-483"></a> <span class="s">&quot;</span><span class="se">\155\177\107\021\274\367\121\273\236\105\030\275\354\321\230\260</span><span class="s">&quot;</span>
+<a name="line-484"></a> <span class="s">&quot;</span><span class="se">\047\035\366\244\303\236\164\330\223\016\005\277\235\202\037\311</span><span class="s">&quot;</span>
+<a name="line-485"></a> <span class="s">&quot;</span><span class="se">\163\340\351\067\053\365\135\130\363\241\306\027\266\240\103\035</span><span class="s">&quot;</span>
+<a name="line-486"></a> <span class="s">&quot;</span><span class="se">\356\064\313\026\177\160\055\327\025\026\224\236\304\140\277\277</span><span class="s">&quot;</span>
+<a name="line-487"></a> <span class="s">&quot;</span><span class="se">\216\171\252\355\266\272\003\226\316\252\233\067\151\050\303\205</span><span class="s">&quot;</span>
+<a name="line-488"></a> <span class="s">&quot;</span><span class="se">\062\334\017\136\206\323\002\231\214\001\144\357\215\005\200\017</span><span class="s">&quot;</span>
+<a name="line-489"></a> <span class="s">&quot;</span><span class="se">\045\270\160\270\300\223\102\123\156\057\077\172\160\350\366\263</span><span class="s">&quot;</span>
+<a name="line-490"></a> <span class="s">&quot;</span><span class="se">\163\163\147\223\162\144\333\070\066\270\175\257\166\272\230\351</span><span class="s">&quot;</span>
+<a name="line-491"></a> <span class="s">&quot;</span><span class="se">\110\236\173\201\310\076\110\163\237\204\271\146\103\174\177\161</span><span class="s">&quot;</span>
+<a name="line-492"></a> <span class="s">&quot;</span><span class="se">\326\166\152\204\172\175\250\327\177\237\365\372\053\103\106\112</span><span class="s">&quot;</span>
+<a name="line-493"></a> <span class="s">&quot;</span><span class="se">\231\120\251\077\231\112\375\370\273\275\065\350\163\351\256\321</span><span class="s">&quot;</span>
+<a name="line-494"></a> <span class="s">&quot;</span><span class="se">\337\346\113\203\273\076\356\376\001\102\165\173\176\260\242\151</span><span class="s">&quot;</span>
+<a name="line-495"></a> <span class="s">&quot;</span><span class="se">\006\372\061\245\166\037\043\011\052\027\134\231\336\014\336\341</span><span class="s">&quot;</span>
+<a name="line-496"></a> <span class="s">&quot;</span><span class="se">\150\163\023\335\244\342\266\120\263\352\057\017\252\023\247\352</span><span class="s">&quot;</span>
+<a name="line-497"></a> <span class="s">&quot;</span><span class="se">\263\207\152\367\077\053\246\303\255\077\063\371\017\146\110\026</span><span class="s">&quot;</span>
+<a name="line-498"></a> <span class="s">&quot;</span><span class="se">\045\000\050\165\165\141\171\051\145\162\162\157\162\055\144\151</span><span class="s">&quot;</span>
+<a name="line-499"></a> <span class="s">&quot;</span><span class="se">\141\154\157\147\056\165\151\000\022\031\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-500"></a> <span class="s">&quot;</span><span class="se">\170\332\355\131\115\163\233\060\020\275\367\127\250\272\166\360</span><span class="s">&quot;</span>
+<a name="line-501"></a> <span class="s">&quot;</span><span class="se">\127\072\231\034\154\062\375\112\246\063\075\265\351\231\021\142</span><span class="s">&quot;</span>
+<a name="line-502"></a> <span class="s">&quot;</span><span class="se">\015\252\145\211\112\042\066\375\365\025\140\327\046\226\215\301</span><span class="s">&quot;</span>
+<a name="line-503"></a> <span class="s">&quot;</span><span class="se">\356\244\165\173\303\260\117\332\267\373\166\131\344\361\355\162</span><span class="s">&quot;</span>
+<a name="line-504"></a> <span class="s">&quot;</span><span class="se">\316\321\043\050\315\244\230\340\141\157\200\021\010\052\043\046</span><span class="s">&quot;</span>
+<a name="line-505"></a> <span class="s">&quot;</span><span class="se">\342\011\376\372\160\347\335\340\133\377\305\370\245\347\241\173</span><span class="s">&quot;</span>
+<a name="line-506"></a> <span class="s">&quot;</span><span class="se">\020\240\210\201\010\055\230\111\120\314\111\004\350\252\067\032</span><span class="s">&quot;</span>
+<a name="line-507"></a> <span class="s">&quot;</span><span class="se">\365\106\310\363\254\021\023\006\324\224\120\360\137\040\064\126</span><span class="s">&quot;</span>
+<a name="line-508"></a> <span class="s">&quot;</span><span class="se">\360\075\143\012\064\342\054\234\340\330\314\136\341\315\106\005</span><span class="s">&quot;</span>
+<a name="line-509"></a> <span class="s">&quot;</span><span class="se">\014\367\113\073\031\176\003\152\020\345\104\353\011\276\067\263</span><span class="s">&quot;</span>
+<a name="line-510"></a> <span class="s">&quot;</span><span class="se">\217\163\022\003\106\054\232\140\126\134\016\161\141\147\055\123</span><span class="s">&quot;</span>
+<a name="line-511"></a> <span class="s">&quot;</span><span class="se">\045\123\120\046\107\202\314\141\202\037\231\146\041\007\354\077</span><span class="s">&quot;</span>
+<a name="line-512"></a> <span class="s">&quot;</span><span class="se">\250\014\306\375\365\123\267\061\045\042\230\112\232\151\354\337</span><span class="s">&quot;</span>
+<a name="line-513"></a> <span class="s">&quot;</span><span class="se">\021\256\033\355\031\225\042\050\056\261\157\237\120\320\332\323</span><span class="s">&quot;</span>
+<a name="line-514"></a> <span class="s">&quot;</span><span class="se">\106\246\165\330\270\137\071\357\346\361\236\021\056\343\212\010</span><span class="s">&quot;</span>
+<a name="line-515"></a> <span class="s">&quot;</span><span class="se">\050\045\125\020\125\167\316\343\141\050\125\004\052\130\260\310</span><span class="s">&quot;</span>
+<a name="line-516"></a> <span class="s">&quot;</span><span class="se">\044\330\037\216\232\354\015\063\066\130\310\050\042\064\047\206</span><span class="s">&quot;</span>
+<a name="line-517"></a> <span class="s">&quot;</span><span class="se">\330\320\115\160\016\166\273\017\205\163\115\360\005\023\221\134</span><span class="s">&quot;</span>
+<a name="line-518"></a> <span class="s">&quot;</span><span class="se">\004\251\324\314\330\024\142\237\102\221\356\026\161\254\330\173</span><span class="s">&quot;</span>
+<a name="line-519"></a> <span class="s">&quot;</span><span class="se">\160\314\156\046\117\041\110\254\240\326\260\035\000\115\030\217</span><span class="s">&quot;</span>
+<a name="line-520"></a> <span class="s">&quot;</span><span class="se">\120\141\267\242\026\022\265\212\154\261\034\267\062\114\044\267</span><span class="s">&quot;</span>
+<a name="line-521"></a> <span class="s">&quot;</span><span class="se">\021\352\257\000\375\022\121\103\227\202\025\204\173\345\117\253</span><span class="s">&quot;</span>
+<a name="line-522"></a> <span class="s">&quot;</span><span class="se">\250\120\056\067\153\354\044\364\355\326\323\226\162\354\222\160</span><span class="s">&quot;</span>
+<a name="line-523"></a> <span class="s">&quot;</span><span class="se">\027\106\052\146\303\116\252\014\330\152\062\214\022\356\004\272</span><span class="s">&quot;</span>
+<a name="line-524"></a> <span class="s">&quot;</span><span class="se">\031\022\132\100\003\242\200\154\121\161\222\315\214\221\242\116</span><span class="s">&quot;</span>
+<a name="line-525"></a> <span class="s">&quot;</span><span class="se">\271\023\355\256\324\135\270\004\226\051\021\121\273\315\022\071</span><span class="s">&quot;</span>
+<a name="line-526"></a> <span class="s">&quot;</span><span class="se">\227\261\355\135\262\330\256\015\220\223\134\146\046\320\046\057</span><span class="s">&quot;</span>
+<a name="line-527"></a> <span class="s">&quot;</span><span class="se">\370\125\133\357\305\156\251\253\071\254\125\123\010\313\353\021</span><span class="s">&quot;</span>
+<a name="line-528"></a> <span class="s">&quot;</span><span class="se">\176\212\162\171\022\002\167\326\156\360\145\306\322\175\116\165</span><span class="s">&quot;</span>
+<a name="line-529"></a> <span class="s">&quot;</span><span class="se">\316\127\103\316\332\102\025\120\140\217\240\203\010\246\044\343</span><span class="s">&quot;</span>
+<a name="line-530"></a> <span class="s">&quot;</span><span class="se">\246\375\012\231\206\040\023\266\232\071\023\215\276\157\267\345</span><span class="s">&quot;</span>
+<a name="line-531"></a> <span class="s">&quot;</span><span class="se">\372\242\204\316\354\213\255\171\273\143\144\346\302\115\031\347</span><span class="s">&quot;</span>
+<a name="line-532"></a> <span class="s">&quot;</span><span class="se">\355\121\233\236\072\070\104\312\351\175\255\255\235\056\306\341</span><span class="s">&quot;</span>
+<a name="line-533"></a> <span class="s">&quot;</span><span class="se">\151\142\174\107\004\005\176\371\162\054\347\022\354\127\343\311</span><span class="s">&quot;</span>
+<a name="line-534"></a> <span class="s">&quot;</span><span class="se">\157\323\361\056\234\360\005\311\165\240\023\373\046\136\371\160</span><span class="s">&quot;</span>
+<a name="line-535"></a> <span class="s">&quot;</span><span class="se">\251\245\060\174\356\122\270\072\255\024\076\203\121\371\377\306</span><span class="s">&quot;</span>
+<a name="line-536"></a> <span class="s">&quot;</span><span class="se">\174\041\152\034\235\111\215\345\054\261\263\102\051\303\265\244</span><span class="s">&quot;</span>
+<a name="line-537"></a> <span class="s">&quot;</span><span class="se">\230\230\101\204\373\117\127\333\101\272\202\351\016\344\276\040</span><span class="s">&quot;</span>
+<a name="line-538"></a> <span class="s">&quot;</span><span class="se">\266\032\275\232\043\270\023\075\353\113\120\014\350\166\166\072</span><span class="s">&quot;</span>
+<a name="line-539"></a> <span class="s">&quot;</span><span class="se">\060\070\265\175\031\072\342\275\023\353\335\252\167\117\363\145</span><span class="s">&quot;</span>
+<a name="line-540"></a> <span class="s">&quot;</span><span class="se">\271\027\123\377\315\263\116\271\307\366\250\265\307\211\365\370</span><span class="s">&quot;</span>
+<a name="line-541"></a> <span class="s">&quot;</span><span class="se">\230\366\164\216\226\162\320\163\027\126\333\364\330\354\270\076</span><span class="s">&quot;</span>
+<a name="line-542"></a> <span class="s">&quot;</span><span class="se">\111\233\111\273\211\127\047\002\056\333\023\070\237\312\373\204</span><span class="s">&quot;</span>
+<a name="line-543"></a> <span class="s">&quot;</span><span class="se">\257\335\243\226\321\354\207\135\346\372\060\166\137\107\075\334</span><span class="s">&quot;</span>
+<a name="line-544"></a> <span class="s">&quot;</span><span class="se">\125\073\067\205\303\315\241\023\364\250\341\367\100\237\335\333</span><span class="s">&quot;</span>
+<a name="line-545"></a> <span class="s">&quot;</span><span class="se">\153\333\212\354\123\365\056\337\234\326\030\130\232\277\101\164</span><span class="s">&quot;</span>
+<a name="line-546"></a> <span class="s">&quot;</span><span class="se">\373\207\220\067\002\225\124\120\102\064\222\224\146\112\101\324</span><span class="s">&quot;</span>
+<a name="line-547"></a> <span class="s">&quot;</span><span class="se">\153\273\376\102\221\264\033\063\015\334\306\230\164\216\314\234</span><span class="s">&quot;</span>
+<a name="line-548"></a> <span class="s">&quot;</span><span class="se">\054\253\363\255\200\046\104\131\102\257\007\155\227\310\011\147</span><span class="s">&quot;</span>
+<a name="line-549"></a> <span class="s">&quot;</span><span class="se">\361\061\342\272\234\072\032\236\273\216\376\361\357\351\077\177</span><span class="s">&quot;</span>
+<a name="line-550"></a> <span class="s">&quot;</span><span class="se">\320\152\112\175\363\310\124\347\130\077\053\255\316\014\075\133</span><span class="s">&quot;</span>
+<a name="line-551"></a> <span class="s">&quot;</span><span class="se">\210\061\030\375\013\121\273\215\024\350\124\012\155\275\031\142</span><span class="s">&quot;</span>
+<a name="line-552"></a> <span class="s">&quot;</span><span class="se">\177\165\260\065\356\327\154\032\221\336\365\032\072\154\013\035</span><span class="s">&quot;</span>
+<a name="line-553"></a> <span class="s">&quot;</span><span class="se">\254\221\127\116\344\223\233\272\176\170\077\356\157\375\163\361</span><span class="s">&quot;</span>
+<a name="line-554"></a> <span class="s">&quot;</span><span class="se">\023\211\251\110\070\000\050\165\165\141\171\051\155\141\164\145</span><span class="s">&quot;</span>
+<a name="line-555"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\002\000\000\000</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-556"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-557"></a>
+<a name="line-558"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">imageconverter_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-559"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-560"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">imageconverter_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-561"></a><span class="p">{</span>
+<a name="line-562"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-563"></a><span class="p">}</span>
+<a name="line-564"></a><span class="cm">/*</span>
+<a name="line-565"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-566"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-567"></a><span class="cm"> your own.</span>
+<a name="line-568"></a>
+<a name="line-569"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-570"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-571"></a>
+<a name="line-572"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-573"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-574"></a><span class="cm"> #endif</span>
+<a name="line-575"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-576"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-577"></a><span class="cm"> ...</span>
+<a name="line-578"></a><span class="cm"> }</span>
+<a name="line-579"></a>
+<a name="line-580"></a><span class="cm">*/</span>
+<a name="line-581"></a>
+<a name="line-582"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-583"></a>
+<a name="line-584"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-585"></a>
+<a name="line-586"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-587"></a>
+<a name="line-588"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-589"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-592"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-593"></a>
+<a name="line-594"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-595"></a>
+<a name="line-596"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-597"></a>
+<a name="line-598"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-599"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-600"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-601"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-602"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-603"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-604"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-605"></a><span class="cm"> */</span>
+<a name="line-606"></a>
+<a name="line-607"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-608"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-609"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-610"></a><span class="cm"> */</span>
+<a name="line-611"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-612"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-613"></a><span class="cp">#else</span>
+<a name="line-614"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-615"></a><span class="cp">#endif</span>
+<a name="line-616"></a>
+<a name="line-617"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-618"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-619"></a>
+<a name="line-620"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-621"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-622"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-623"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-624"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-625"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-626"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-627"></a>
+<a name="line-628"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-629"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-630"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-631"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-632"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-633"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-634"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-635"></a>
+<a name="line-636"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-637"></a>
+<a name="line-638"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-639"></a>
+<a name="line-640"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-641"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-642"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-643"></a>
+<a name="line-644"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-645"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-646"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-647"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-648"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-649"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-650"></a>
+<a name="line-651"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-652"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-653"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-654"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-655"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-656"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-657"></a>
+<a name="line-658"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-661"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-662"></a><span class="cm"> */</span>
+<a name="line-663"></a>
+<a name="line-664"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-665"></a>
+<a name="line-666"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-667"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-668"></a>
+<a name="line-669"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-670"></a><span class="cp"> init(_func)</span>
+<a name="line-671"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-672"></a><span class="cp"> static void _func(void);</span>
+<a name="line-673"></a>
+<a name="line-674"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-675"></a><span class="cp"> fini(_func)</span>
+<a name="line-676"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-677"></a><span class="cp"> static void _func(void);</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="cp">#else</span>
+<a name="line-680"></a>
+<a name="line-681"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-682"></a>
+<a name="line-683"></a><span class="cp">#endif</span>
+<a name="line-684"></a>
+<a name="line-685"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-686"></a>
+<a name="line-687"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-688"></a>
+<a name="line-689"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-690"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-691"></a><span class="cp">#endif</span>
+<a name="line-692"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-693"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-694"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-695"></a><span class="cp">#endif</span>
+<a name="line-696"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-697"></a>
+<a name="line-698"></a><span class="cp">#else</span>
+<a name="line-699"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-700"></a><span class="cp">#endif</span>
+<a name="line-701"></a>
+<a name="line-702"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-703"></a><span class="p">{</span>
+<a name="line-704"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-705"></a><span class="p">}</span>
+<a name="line-706"></a>
+<a name="line-707"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-708"></a><span class="p">{</span>
+<a name="line-709"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-710"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/1.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/1.html
new file mode 100644
index 0000000..827b9b1
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/1.html
@@ -0,0 +1,1508 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: open-terminal/caja-open-terminal.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-open-terminal.c</p>
+<a href='1.html#line-202'> nullPointerRedundantCheck 202</a><a href='1.html#line-206'> nullPointerRedundantCheck 206</a><a href='1.html#line-208'> nullPointerRedundantCheck 208</a><a href='1.html#line-208'> nullPointerArithmeticRedundantCheck 208</a><a href='1.html#line-209'> nullPointerArithmeticRedundantCheck 209</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-210'> nullPointerArithmeticRedundantCheck 210</a><a href='1.html#line-320'> variableScope 320</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * caja-open-terminal.c</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004, 2005 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Christian Neumair &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-25"></a> <span class="cp">#include</span> <span class="cpf">&lt;config.h&gt; /* for GETTEXT_PACKAGE */</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#endif</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-open-terminal.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-configurable.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkicontheme.h&gt;</span><span class="cp"></span>
+<a name="line-35"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkwidget.h&gt;</span><span class="cp"></span>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtkmain.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;libmate-desktop/mate-desktop-item.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="cp">#include</span> <span class="cpf">&lt;errno.h&gt;</span><span class="cp"></span>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;fcntl.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt; /* for strcmp, strdup, ... */</span><span class="cp"></span>
+<a name="line-44"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt; /* for chdir */</span><span class="cp"></span>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt; /* for atoi */</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cp">#define COT_SCHEMA &quot;org.mate.caja-open-terminal&quot;</span>
+<a name="line-49"></a><span class="cp">#define COT_DESKTOP_KEY &quot;desktop-opens-home-dir&quot;</span>
+<a name="line-50"></a><span class="cp">#define CAJA_SCHEMA &quot;org.mate.caja.preferences&quot;</span>
+<a name="line-51"></a><span class="cp">#define CAJA_DESKTOP_KEY &quot;desktop-is-home-dir&quot;</span>
+<a name="line-52"></a><span class="cp">#define TERM_SCHEMA &quot;org.mate.applications-terminal&quot;</span>
+<a name="line-53"></a><span class="cp">#define TERM_EXEC_KEY &quot;exec&quot;</span>
+<a name="line-54"></a>
+<a name="line-55"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">);</span>
+<a name="line-56"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">);</span>
+<a name="line-57"></a>
+<a name="line-58"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">terminal_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-61"></a> <span class="n">FILE_INFO_LOCAL</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">FILE_INFO_DESKTOP</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">FILE_INFO_SFTP</span><span class="p">,</span>
+<a name="line-64"></a> <span class="n">FILE_INFO_OTHER</span>
+<a name="line-65"></a><span class="p">}</span> <span class="n">TerminalFileInfo</span><span class="p">;</span>
+<a name="line-66"></a>
+<a name="line-67"></a><span class="k">static</span> <span class="n">TerminalFileInfo</span>
+<a name="line-68"></a><span class="nf">get_terminal_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-69"></a><span class="p">{</span>
+<a name="line-70"></a> <span class="n">TerminalFileInfo</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-71"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-72"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri_scheme</span><span class="p">;</span>
+<a name="line-73"></a>
+<a name="line-74"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-75"></a> <span class="n">uri_scheme</span> <span class="o">=</span> <span class="n">g_uri_parse_scheme</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-78"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_LOCAL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;x-caja-desktop&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_DESKTOP</span><span class="p">;</span>
+<a name="line-81"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span>
+<a name="line-82"></a> <span class="n">strcmp</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_SFTP</span><span class="p">;</span>
+<a name="line-84"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-85"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">FILE_INFO_OTHER</span><span class="p">;</span>
+<a name="line-86"></a> <span class="p">}</span>
+<a name="line-87"></a>
+<a name="line-88"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri_scheme</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-92"></a><span class="p">}</span>
+<a name="line-93"></a>
+<a name="line-94"></a><span class="kt">char</span> <span class="o">*</span>
+<a name="line-95"></a><span class="nf">lookup_in_data_dir</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">,</span>
+<a name="line-96"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">data_dir</span><span class="p">)</span>
+<a name="line-97"></a><span class="p">{</span>
+<a name="line-98"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="n">basename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-101"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-102"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-103"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-104"></a> <span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-107"></a><span class="p">}</span>
+<a name="line-108"></a>
+<a name="line-109"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-110"></a><span class="nf">lookup_in_data_dirs</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">basename</span><span class="p">)</span>
+<a name="line-111"></a><span class="p">{</span>
+<a name="line-112"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span> <span class="k">const</span> <span class="o">*</span><span class="n">system_data_dirs</span><span class="p">;</span>
+<a name="line-113"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">user_data_dir</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">retval</span><span class="p">;</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">user_data_dir</span> <span class="o">=</span> <span class="n">g_get_user_data_dir</span> <span class="p">();</span>
+<a name="line-118"></a> <span class="n">system_data_dirs</span> <span class="o">=</span> <span class="n">g_get_system_data_dirs</span> <span class="p">();</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">user_data_dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-121"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">];</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-125"></a> <span class="k">if</span> <span class="p">((</span><span class="n">retval</span> <span class="o">=</span> <span class="n">lookup_in_data_dir</span> <span class="p">(</span><span class="n">basename</span><span class="p">,</span> <span class="n">system_data_dirs</span><span class="p">[</span><span class="n">i</span><span class="p">])))</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-130"></a><span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-133"></a><span class="nf">desktop_opens_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-134"></a><span class="p">{</span>
+<a name="line-135"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-136"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-137"></a>
+<a name="line-138"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-142"></a><span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-145"></a><span class="nf">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">val</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">COT_SCHEMA</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">COT_DESKTOP_KEY</span><span class="p">,</span> <span class="n">val</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-154"></a><span class="p">}</span>
+<a name="line-155"></a>
+<a name="line-156"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-157"></a><span class="nf">desktop_is_home_dir</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-158"></a><span class="p">{</span>
+<a name="line-159"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-160"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">CAJA_SCHEMA</span><span class="p">);</span>
+<a name="line-163"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_boolean</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">CAJA_DESKTOP_KEY</span><span class="p">);</span>
+<a name="line-164"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-165"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-166"></a><span class="p">}</span>
+<a name="line-167"></a>
+<a name="line-168"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gchar</span><span class="o">*</span>
+<a name="line-169"></a><span class="nf">default_terminal_application</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">result</span><span class="p">;</span>
+<a name="line-172"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-173"></a>
+<a name="line-174"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-175"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">);</span>
+<a name="line-176"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="k">if</span> <span class="p">(</span><span class="n">result</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">result</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">result</span><span class="p">);</span>
+<a name="line-180"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;mate-terminal&quot;</span><span class="p">);</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a>
+<a name="line-183"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-184"></a><span class="p">}</span>
+<a name="line-185"></a>
+<a name="line-186"></a><span class="k">static</span> <span class="kr">inline</span> <span class="n">gboolean</span>
+<a name="line-187"></a><span class="nf">set_default_terminal_application</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span><span class="o">*</span> <span class="n">exec</span><span class="p">)</span>
+<a name="line-188"></a><span class="p">{</span>
+<a name="line-189"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-190"></a> <span class="n">GSettings</span><span class="o">*</span> <span class="n">settings</span><span class="p">;</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">TERM_SCHEMA</span><span class="p">);</span>
+<a name="line-193"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">TERM_EXEC_KEY</span><span class="p">,</span> <span class="n">exec</span><span class="p">);</span>
+<a name="line-194"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-195"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-196"></a><span class="p">}</span>
+<a name="line-197"></a>
+<a name="line-198"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-199"></a><span class="nf">parse_sftp_uri</span> <span class="p">(</span><span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">host</span><span class="p">,</span> <span class="n">guint</span> <span class="o">*</span><span class="n">port</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">user</span><span class="p">,</span>
+<a name="line-200"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">path</span><span class="p">)</span>
+<a name="line-201"></a><span class="p">{</span>
+<a name="line-202"></a><span class="hll"> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">g_file_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span><span class='error2'>&lt;--- Assignment 'uri=g_file_get_uri(file)', assigned value is 0</span>
+</span><a name="line-203"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">u</span><span class="p">,</span> <span class="o">*</span><span class="n">h</span><span class="p">,</span> <span class="o">*</span><span class="n">s</span><span class="p">,</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-204"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">h_end</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'uri!=NULL' is not redundant</span>
+</span><a name="line-207"></a>
+<a name="line-208"></a><span class="hll"> <span class="n">u</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span><span class='error2'>&lt;--- Null pointer dereference</span><span class='error2'>&lt;--- Assignment 'u=strchr(uri,':')', assigned value is 0</span>
+</span><a name="line-209"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">u</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Assuming that condition 'u!=NULL' is not redundant</span>
+</span><a name="line-210"></a><span class="hll"> <span class="n">u</span> <span class="o">+=</span> <span class="mi">3</span><span class="p">;</span> <span class="cm">/* Skip over :// to userid */</span><span class='error2'>&lt;--- Null pointer addition</span><span class='error2'>&lt;--- Compound assignment '+=', assigned value is 3</span>
+</span><a name="line-211"></a>
+<a name="line-212"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-213"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">u</span><span class="p">,</span> <span class="sc">&#39;@&#39;</span><span class="p">);</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h</span> <span class="o">&amp;&amp;</span> <span class="p">((</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">||</span> <span class="p">(</span><span class="n">h</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-216"></a> <span class="o">*</span><span class="n">h</span><span class="o">=</span><span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-217"></a> <span class="n">h</span><span class="o">++</span><span class="p">;</span>
+<a name="line-218"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-219"></a> <span class="n">h</span> <span class="o">=</span> <span class="n">u</span><span class="p">;</span>
+<a name="line-220"></a> <span class="n">u</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-221"></a> <span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a> <span class="n">s</span> <span class="o">=</span> <span class="n">strchr</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="sc">&#39;:&#39;</span><span class="p">);</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="k">if</span> <span class="p">(</span><span class="n">s</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">s</span> <span class="o">&lt;</span> <span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-226"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">s</span><span class="p">;</span>
+<a name="line-227"></a> <span class="o">*</span><span class="n">s</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-228"></a> <span class="n">s</span><span class="o">++</span><span class="p">;</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">p</span><span class="p">;</span>
+<a name="line-231"></a> <span class="n">s</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a>
+<a name="line-234"></a> <span class="k">if</span> <span class="p">(</span><span class="n">h_end</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-235"></a> <span class="n">h_end</span> <span class="o">=</span> <span class="n">h</span> <span class="o">+</span> <span class="n">strlen</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-236"></a> <span class="p">}</span>
+<a name="line-237"></a>
+<a name="line-238"></a> <span class="o">*</span><span class="n">user</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">u</span><span class="p">);</span>
+<a name="line-239"></a> <span class="o">*</span><span class="n">port</span> <span class="o">=</span> <span class="n">s</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">?</span> <span class="mi">0</span> <span class="o">:</span> <span class="n">atoi</span><span class="p">(</span><span class="n">s</span><span class="p">);</span> <span class="cm">/* FIXME: getservbyname ? */</span>
+<a name="line-240"></a> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_uri_unescape_string</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">);</span>
+<a name="line-241"></a> <span class="o">*</span><span class="n">h_end</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-242"></a> <span class="o">*</span><span class="n">host</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="n">h</span><span class="p">);</span>
+<a name="line-243"></a>
+<a name="line-244"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">append_sftp_info</span> <span class="p">(</span><span class="kt">char</span> <span class="o">**</span><span class="n">terminal_exec</span><span class="p">,</span>
+<a name="line-249"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-250"></a><span class="p">{</span>
+<a name="line-251"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">vfs_uri</span><span class="p">;</span>
+<a name="line-252"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_name</span><span class="p">,</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="o">*</span><span class="n">user_name</span><span class="p">;</span>
+<a name="line-253"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">user_host</span><span class="p">,</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">quoted_cmd</span><span class="p">;</span>
+<a name="line-254"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">host_port_switch</span><span class="p">;</span>
+<a name="line-255"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_path</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">remote_cmd</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">quoted_remote_cmd</span><span class="p">;</span>
+<a name="line-258"></a> <span class="n">guint</span> <span class="n">host_port</span><span class="p">;</span>
+<a name="line-259"></a>
+<a name="line-260"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">terminal_exec</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-261"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-262"></a>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">vfs_uri</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-265"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">vfs_uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;sftp&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span> <span class="o">||</span>
+<a name="line-268"></a> <span class="n">g_file_has_uri_scheme</span><span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="s">&quot;ssh&quot;</span><span class="p">)</span><span class="o">==</span><span class="n">TRUE</span><span class="p">);</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">parse_sftp_uri</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_port</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">user_name</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">host_port</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-273"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-274"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-275"></a> <span class="n">host_port_switch</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;-p %d&quot;</span><span class="p">,</span> <span class="n">host_port</span><span class="p">);</span>
+<a name="line-276"></a> <span class="p">}</span>
+<a name="line-277"></a>
+<a name="line-278"></a> <span class="k">if</span> <span class="p">(</span><span class="n">user_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-279"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s@%s&quot;</span><span class="p">,</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">host_name</span><span class="p">);</span>
+<a name="line-280"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-281"></a> <span class="n">user_host</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-282"></a> <span class="p">}</span>
+<a name="line-283"></a>
+<a name="line-284"></a> <span class="n">quoted_path</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">remote_cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;cd %s &amp;&amp; $SHELL -l&quot;</span><span class="p">,</span> <span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">quoted_remote_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;ssh %s %s -t %s&quot;</span><span class="p">,</span> <span class="n">user_host</span><span class="p">,</span> <span class="n">host_port_switch</span><span class="p">,</span> <span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">quoted_cmd</span> <span class="o">=</span> <span class="n">g_shell_quote</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="o">*</span><span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">g_realloc</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">)</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-293"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="s">&quot; -e &quot;</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">strcpy</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="o">*</span><span class="n">terminal_exec</span><span class="p">),</span> <span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-295"></a>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_name</span><span class="p">);</span>
+<a name="line-297"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_name</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">host_port_switch</span><span class="p">);</span>
+<a name="line-299"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-300"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_path</span><span class="p">);</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">remote_cmd</span><span class="p">);</span>
+<a name="line-303"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_remote_cmd</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">quoted_cmd</span><span class="p">);</span>
+<a name="line-305"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">user_host</span><span class="p">);</span>
+<a name="line-306"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">vfs_uri</span><span class="p">);</span>
+<a name="line-307"></a><span class="p">}</span>
+<a name="line-308"></a>
+<a name="line-309"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-310"></a><span class="nf">open_terminal_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-311"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-312"></a><span class="p">{</span>
+<a name="line-313"></a> <span class="n">GdkDisplay</span> <span class="o">*</span><span class="n">display</span><span class="p">;</span>
+<a name="line-314"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">display_str</span><span class="p">;</span>
+<a name="line-315"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">old_display_str</span><span class="p">;</span>
+<a name="line-316"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-317"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="o">*</span><span class="n">terminal_exec</span><span class="p">;</span>
+<a name="line-318"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">working_directory</span><span class="p">;</span>
+<a name="line-319"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">dfile</span><span class="p">;</span>
+<a name="line-320"></a><span class="hll"> <span class="n">MateDesktopItem</span> <span class="o">*</span><span class="n">ditem</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'ditem' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;ditem&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-321"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="n">terminal_exec</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-324"></a>
+<a name="line-325"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-326"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-327"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_activation_uri</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-328"></a> <span class="k">if</span> <span class="p">(</span><span class="n">uri</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-329"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-330"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-331"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-332"></a> <span class="p">}</span>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-334"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-337"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_is_home_dir</span> <span class="p">()</span> <span class="o">||</span> <span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-338"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">());</span>
+<a name="line-339"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">g_get_user_special_dir</span> <span class="p">(</span><span class="n">G_USER_DIRECTORY_DESKTOP</span><span class="p">));</span>
+<a name="line-341"></a> <span class="p">}</span>
+<a name="line-342"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-345"></a> <span class="n">working_directory</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-346"></a> <span class="n">append_sftp_info</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-350"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-351"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-352"></a> <span class="p">}</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="s">&quot;mate-terminal&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-355"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="n">lookup_in_data_dirs</span> <span class="p">(</span><span class="s">&quot;applications/mate-terminal.desktop&quot;</span><span class="p">);</span>
+<a name="line-356"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">dfile</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-358"></a> <span class="p">}</span>
+<a name="line-359"></a>
+<a name="line-360"></a> <span class="n">g_shell_parse_argv</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-361"></a>
+<a name="line-362"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-363"></a> <span class="n">old_display_str</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">);</span>
+<a name="line-364"></a>
+<a name="line-365"></a> <span class="n">screen</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">);</span>
+<a name="line-366"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">gdk_screen_get_display</span> <span class="p">(</span><span class="n">screen</span><span class="p">);</span>
+<a name="line-367"></a> <span class="k">if</span> <span class="p">(</span><span class="n">screen</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-368"></a> <span class="n">display_str</span> <span class="o">=</span> <span class="n">gdk_display_get_name</span> <span class="p">(</span><span class="n">display</span><span class="p">);</span>
+<a name="line-369"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-370"></a> <span class="p">}</span>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dfile</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-373"></a> <span class="kt">int</span> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-374"></a>
+<a name="line-375"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="n">open</span> <span class="p">(</span><span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="n">O_RDONLY</span><span class="p">);</span>
+<a name="line-377"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-380"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to open current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-381"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">working_directory</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-382"></a>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chdir</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-384"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change Caja working directory to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-387"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-390"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-394"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close() current Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-395"></a> <span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a> <span class="n">orig_cwd</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+<a name="line-398"></a> <span class="p">}</span>
+<a name="line-399"></a> <span class="p">}</span>
+<a name="line-400"></a>
+<a name="line-401"></a> <span class="n">ditem</span> <span class="o">=</span> <span class="n">mate_desktop_item_new_from_file</span> <span class="p">(</span><span class="n">dfile</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-402"></a>
+<a name="line-403"></a> <span class="n">mate_desktop_item_set_string</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="s">&quot;Exec&quot;</span><span class="p">,</span> <span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-404"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_get_current_event_time</span> <span class="p">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-405"></a> <span class="n">mate_desktop_item_set_launch_time</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="n">gtk_get_current_event_time</span> <span class="p">());</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a> <span class="n">mate_desktop_item_launch</span> <span class="p">(</span><span class="n">ditem</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">MATE_DESKTOP_ITEM_LAUNCH_USE_CURRENT_DIR</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-408"></a> <span class="n">mate_desktop_item_unref</span> <span class="p">(</span><span class="n">ditem</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">dfile</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="k">if</span> <span class="p">(</span><span class="n">orig_cwd</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-412"></a> <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">fchdir</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-415"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-416"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to change back Caja working directory to original location after changing it to </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">.&quot;</span><span class="p">,</span>
+<a name="line-417"></a> <span class="n">working_directory</span><span class="p">);</span>
+<a name="line-418"></a> <span class="p">}</span>
+<a name="line-419"></a>
+<a name="line-420"></a> <span class="k">do</span> <span class="p">{</span>
+<a name="line-421"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">close</span> <span class="p">(</span><span class="n">orig_cwd</span><span class="p">);</span>
+<a name="line-422"></a> <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span> <span class="o">&amp;&amp;</span> <span class="n">errno</span> <span class="o">==</span> <span class="n">EINTR</span><span class="p">);</span>
+<a name="line-423"></a>
+<a name="line-424"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-425"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal: Failed to close Caja working directory.&quot;</span><span class="p">);</span>
+<a name="line-426"></a> <span class="p">}</span>
+<a name="line-427"></a> <span class="p">}</span>
+<a name="line-428"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-429"></a> <span class="n">g_spawn_async</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">,</span>
+<a name="line-430"></a> <span class="n">argv</span><span class="p">,</span>
+<a name="line-431"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-432"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-433"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-434"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-435"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-436"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-437"></a> <span class="p">}</span>
+<a name="line-438"></a>
+<a name="line-439"></a> <span class="n">g_setenv</span> <span class="p">(</span><span class="s">&quot;DISPLAY&quot;</span><span class="p">,</span> <span class="n">old_display_str</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">argv</span><span class="p">);</span>
+<a name="line-442"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal_exec</span><span class="p">);</span>
+<a name="line-443"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">working_directory</span><span class="p">);</span>
+<a name="line-444"></a><span class="p">}</span>
+<a name="line-445"></a>
+<a name="line-446"></a><span class="k">static</span> <span class="n">CajaMenuItem</span> <span class="o">*</span>
+<a name="line-447"></a><span class="nf">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">,</span>
+<a name="line-449"></a> <span class="n">GdkScreen</span> <span class="o">*</span><span class="n">screen</span><span class="p">,</span>
+<a name="line-450"></a> <span class="n">gboolean</span> <span class="n">is_file_item</span><span class="p">)</span>
+<a name="line-451"></a><span class="p">{</span>
+<a name="line-452"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">ret</span><span class="p">;</span>
+<a name="line-453"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-454"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">tooltip</span><span class="p">;</span>
+<a name="line-455"></a>
+<a name="line-456"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-458"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-459"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_file_item</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-461"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently selected folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-462"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-463"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-464"></a> <span class="p">}</span>
+<a name="line-465"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-466"></a>
+<a name="line-467"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-468"></a> <span class="k">if</span> <span class="p">(</span><span class="n">desktop_opens_home_dir</span> <span class="p">())</span> <span class="p">{</span>
+<a name="line-469"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open _Terminal&quot;</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open a terminal&quot;</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open in _Terminal&quot;</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">tooltip</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Open the currently open folder in a terminal&quot;</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span>
+<a name="line-475"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-478"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-479"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-480"></a> <span class="p">}</span>
+<a name="line-481"></a>
+<a name="line-482"></a> <span class="n">ret</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaOpenTerminal::open_terminal&quot;</span><span class="p">,</span>
+<a name="line-483"></a> <span class="n">name</span><span class="p">,</span> <span class="n">tooltip</span><span class="p">,</span> <span class="s">&quot;terminal&quot;</span><span class="p">);</span>
+<a name="line-484"></a>
+<a name="line-485"></a> <span class="n">g_object_set_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span>
+<a name="line-486"></a> <span class="s">&quot;CajaOpenTerminal::screen&quot;</span><span class="p">,</span>
+<a name="line-487"></a> <span class="n">screen</span><span class="p">);</span>
+<a name="line-488"></a>
+<a name="line-489"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="s">&quot;file-info&quot;</span><span class="p">,</span>
+<a name="line-490"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">),</span>
+<a name="line-491"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">g_object_unref</span><span class="p">);</span>
+<a name="line-492"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-493"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">open_terminal_callback</span><span class="p">),</span>
+<a name="line-494"></a> <span class="n">file_info</span><span class="p">);</span>
+<a name="line-495"></a>
+<a name="line-496"></a> <span class="k">return</span> <span class="n">ret</span><span class="p">;</span>
+<a name="line-497"></a><span class="p">}</span>
+<a name="line-498"></a>
+<a name="line-499"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-500"></a><span class="nf">caja_open_terminal_get_background_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-501"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-502"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">)</span>
+<a name="line-503"></a><span class="p">{</span>
+<a name="line-504"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-505"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-506"></a>
+<a name="line-507"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-508"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-509"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-510"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-511"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-512"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">file_info</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-513"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-517"></a>
+<a name="line-518"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-519"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-520"></a> <span class="p">}</span>
+<a name="line-521"></a><span class="p">}</span>
+<a name="line-522"></a>
+<a name="line-523"></a><span class="n">GList</span> <span class="o">*</span>
+<a name="line-524"></a><span class="nf">caja_open_terminal_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-525"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-526"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-527"></a><span class="p">{</span>
+<a name="line-528"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">TerminalFileInfo</span> <span class="n">terminal_file_info</span><span class="p">;</span>
+<a name="line-530"></a>
+<a name="line-531"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">files</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span> <span class="o">||</span>
+<a name="line-532"></a> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-533"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_SHORTCUT</span> <span class="o">&amp;&amp;</span>
+<a name="line-534"></a> <span class="n">caja_file_info_get_file_type</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">!=</span> <span class="n">G_FILE_TYPE_MOUNTABLE</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-536"></a> <span class="p">}</span>
+<a name="line-537"></a>
+<a name="line-538"></a> <span class="n">terminal_file_info</span> <span class="o">=</span> <span class="n">get_terminal_file_info</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-539"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">terminal_file_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">case</span> <span class="nl">FILE_INFO_LOCAL</span><span class="p">:</span>
+<a name="line-541"></a> <span class="k">case</span> <span class="nl">FILE_INFO_SFTP</span><span class="p">:</span>
+<a name="line-542"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">open_terminal_menu_item_new</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="n">terminal_file_info</span><span class="p">,</span> <span class="n">gtk_widget_get_screen</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-543"></a> <span class="k">return</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-544"></a>
+<a name="line-545"></a> <span class="k">case</span> <span class="nl">FILE_INFO_DESKTOP</span><span class="p">:</span>
+<a name="line-546"></a> <span class="k">case</span> <span class="nl">FILE_INFO_OTHER</span><span class="p">:</span>
+<a name="line-547"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-548"></a>
+<a name="line-549"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-550"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-551"></a> <span class="p">}</span>
+<a name="line-552"></a><span class="p">}</span>
+<a name="line-553"></a>
+<a name="line-554"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-555"></a><span class="nf">caja_open_terminal_run_config</span> <span class="p">(</span><span class="n">CajaConfigurable</span> <span class="o">*</span><span class="n">provider</span><span class="p">)</span>
+<a name="line-556"></a><span class="p">{</span>
+<a name="line-557"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">extconf_dialog</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_content</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_desktophomedir</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform1</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_inform2</span><span class="p">,</span> <span class="o">*</span><span class="n">extconf_exec</span><span class="p">;</span>
+<a name="line-558"></a> <span class="n">gchar</span> <span class="o">*</span> <span class="n">terminal</span><span class="p">;</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">extconf_dialog</span> <span class="o">=</span> <span class="n">gtk_dialog_new</span> <span class="p">();</span>
+<a name="line-561"></a> <span class="n">extconf_content</span> <span class="o">=</span> <span class="n">gtk_dialog_get_content_area</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="n">extconf_desktophomedir</span> <span class="o">=</span> <span class="n">gtk_check_button_new_with_label</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Open at Home if trying to open on desktop&quot;</span><span class="p">));</span>
+<a name="line-564"></a> <span class="n">extconf_exec</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-565"></a> <span class="n">extconf_inform1</span> <span class="o">=</span> <span class="n">gtk_box_new</span> <span class="p">(</span><span class="n">GTK_ORIENTATION_HORIZONTAL</span><span class="p">,</span> <span class="mi">12</span><span class="p">);</span>
+<a name="line-566"></a> <span class="n">extconf_inform2</span> <span class="o">=</span> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Terminal application:&quot;</span><span class="p">));</span>
+<a name="line-567"></a>
+<a name="line-568"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">),</span> <span class="n">desktop_opens_home_dir</span> <span class="p">());</span>
+<a name="line-569"></a>
+<a name="line-570"></a> <span class="n">terminal</span> <span class="o">=</span> <span class="n">default_terminal_application</span><span class="p">();</span>
+<a name="line-571"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">),</span> <span class="n">terminal</span><span class="p">);</span>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">terminal</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-575"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform2</span><span class="p">);</span>
+<a name="line-576"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-577"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-578"></a> <span class="n">gtk_box_set_child_packing</span> <span class="p">(</span><span class="n">GTK_BOX</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">GTK_PACK_END</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-581"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">);</span>
+<a name="line-582"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">);</span>
+<a name="line-584"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-585"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">);</span>
+<a name="line-586"></a> <span class="n">gtk_dialog_add_buttons</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Close&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_OK</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_inform1</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-589"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">extconf_content</span><span class="p">),</span> <span class="mi">6</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;open-terminal Configuration&quot;</span><span class="p">));</span>
+<a name="line-593"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-594"></a>
+<a name="line-595"></a> <span class="n">set_default_terminal_application</span> <span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">extconf_exec</span><span class="p">)));</span>
+<a name="line-596"></a> <span class="n">set_desktop_opens_home_dir</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">extconf_desktophomedir</span><span class="p">)));</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">extconf_dialog</span><span class="p">));</span>
+<a name="line-599"></a><span class="p">}</span>
+<a name="line-600"></a>
+<a name="line-601"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-602"></a><span class="nf">caja_open_terminal_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-603"></a><span class="p">{</span>
+<a name="line-604"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_background_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_background_items</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_open_terminal_get_file_items</span><span class="p">;</span>
+<a name="line-606"></a><span class="p">}</span>
+<a name="line-607"></a>
+<a name="line-608"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-609"></a><span class="nf">caja_open_terminal_configurable_iface_init</span> <span class="p">(</span><span class="n">CajaConfigurableIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-610"></a><span class="p">{</span>
+<a name="line-611"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">run_config</span> <span class="o">=</span> <span class="n">caja_open_terminal_run_config</span><span class="p">;</span>
+<a name="line-612"></a><span class="p">}</span>
+<a name="line-613"></a>
+<a name="line-614"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-615"></a><span class="nf">caja_open_terminal_instance_init</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span> <span class="o">*</span><span class="n">cvs</span><span class="p">)</span>
+<a name="line-616"></a><span class="p">{</span>
+<a name="line-617"></a><span class="p">}</span>
+<a name="line-618"></a>
+<a name="line-619"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-620"></a><span class="nf">caja_open_terminal_class_init</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-621"></a><span class="p">{</span>
+<a name="line-622"></a><span class="p">}</span>
+<a name="line-623"></a>
+<a name="line-624"></a><span class="n">GType</span>
+<a name="line-625"></a><span class="nf">caja_open_terminal_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-626"></a><span class="p">{</span>
+<a name="line-627"></a> <span class="k">return</span> <span class="n">terminal_type</span><span class="p">;</span>
+<a name="line-628"></a><span class="p">}</span>
+<a name="line-629"></a>
+<a name="line-630"></a><span class="kt">void</span>
+<a name="line-631"></a><span class="nf">caja_open_terminal_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-632"></a><span class="p">{</span>
+<a name="line-633"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-634"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminalClass</span><span class="p">),</span>
+<a name="line-635"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-636"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-637"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_class_init</span><span class="p">,</span>
+<a name="line-638"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-639"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-640"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaOpenTerminal</span><span class="p">),</span>
+<a name="line-641"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-642"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_instance_init</span><span class="p">,</span>
+<a name="line-643"></a> <span class="p">};</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-646"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-647"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-648"></a> <span class="nb">NULL</span>
+<a name="line-649"></a> <span class="p">};</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">configurable_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-652"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_open_terminal_configurable_iface_init</span><span class="p">,</span>
+<a name="line-653"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-654"></a> <span class="nb">NULL</span>
+<a name="line-655"></a> <span class="p">};</span>
+<a name="line-656"></a>
+<a name="line-657"></a> <span class="n">terminal_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-658"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-659"></a> <span class="s">&quot;CajaOpenTerminal&quot;</span><span class="p">,</span>
+<a name="line-660"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-663"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-664"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-665"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-668"></a> <span class="n">terminal_type</span><span class="p">,</span>
+<a name="line-669"></a> <span class="n">CAJA_TYPE_CONFIGURABLE</span><span class="p">,</span>
+<a name="line-670"></a> <span class="o">&amp;</span><span class="n">configurable_iface_info</span><span class="p">);</span>
+<a name="line-671"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/10.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/10.html
new file mode 100644
index 0000000..aaf588e
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/10.html
@@ -0,0 +1,530 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: wallpaper/caja-wallpaper-extension.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-wallpaper-extension.c</p>
+<a href='10.html#line-86'> variableScope 86</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja Wallpaper extension</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2005 Adam Israel</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2014 Stefano Karapetsas</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-8"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-9"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-10"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-11"></a><span class="cm"> *</span>
+<a name="line-12"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-13"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-14"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-15"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-16"></a><span class="cm"> *</span>
+<a name="line-17"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-18"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-19"></a><span class="cm"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Authors: Adam Israel &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> * Stefano Karapetsas &lt;[email protected]&gt;</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-wallpaper-extension.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define WP_SCHEMA &quot;org.mate.background&quot;</span>
+<a name="line-35"></a><span class="cp">#define WP_FILE_KEY &quot;picture-filename&quot;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-40"></a><span class="nf">set_wallpaper_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-41"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-42"></a><span class="p">{</span>
+<a name="line-43"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">;</span>
+<a name="line-44"></a> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-46"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-47"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-53"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="n">WP_SCHEMA</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="n">WP_FILE_KEY</span><span class="p">,</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-58"></a>
+<a name="line-59"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-60"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-61"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-62"></a>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-66"></a><span class="nf">is_image</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">mimeType</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">gboolean</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-70"></a>
+<a name="line-71"></a> <span class="n">mimeType</span> <span class="o">=</span> <span class="n">caja_file_info_get_mime_type</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-72"></a> <span class="n">isImage</span> <span class="o">=</span> <span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">,</span> <span class="s">&quot;image/&quot;</span><span class="p">);</span>
+<a name="line-73"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">mimeType</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">return</span> <span class="n">isImage</span><span class="p">;</span>
+<a name="line-75"></a><span class="p">}</span>
+<a name="line-76"></a>
+<a name="line-77"></a>
+<a name="line-78"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-79"></a><span class="nf">caja_cwe_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-82"></a><span class="p">{</span>
+<a name="line-83"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-85"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-86"></a><span class="hll"> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-87"></a>
+<a name="line-88"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-89"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-90"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">scheme</span><span class="p">;</span>
+<a name="line-91"></a> <span class="n">gboolean</span> <span class="n">local</span><span class="p">;</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">scheme</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri_scheme</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-94"></a> <span class="n">local</span> <span class="o">=</span> <span class="n">strncmp</span> <span class="p">(</span><span class="n">scheme</span><span class="p">,</span> <span class="s">&quot;file&quot;</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">scheme</span><span class="p">);</span>
+<a name="line-96"></a>
+<a name="line-97"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local</span><span class="p">)</span>
+<a name="line-98"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-99"></a> <span class="p">}</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span> <span class="n">is_image</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-103"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaCwe::sendto&quot;</span><span class="p">,</span>
+<a name="line-105"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set as wallpaper&quot;</span><span class="p">),</span>
+<a name="line-106"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Set image as the current wallpaper&quot;</span><span class="p">),</span>
+<a name="line-107"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-108"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-109"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">set_wallpaper_callback</span><span class="p">),</span>
+<a name="line-111"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-113"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-114"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-115"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-116"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-117"></a> <span class="p">}</span>
+<a name="line-118"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-119"></a><span class="p">}</span>
+<a name="line-120"></a>
+<a name="line-121"></a>
+<a name="line-122"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-123"></a><span class="nf">caja_cwe_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-124"></a><span class="p">{</span>
+<a name="line-125"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_cwe_get_file_items</span><span class="p">;</span>
+<a name="line-126"></a><span class="p">}</span>
+<a name="line-127"></a>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-130"></a><span class="nf">caja_cwe_instance_init</span> <span class="p">(</span><span class="n">CajaCwe</span> <span class="o">*</span><span class="n">cwe</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a><span class="p">}</span>
+<a name="line-133"></a>
+<a name="line-134"></a>
+<a name="line-135"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-136"></a><span class="nf">caja_cwe_class_init</span> <span class="p">(</span><span class="n">CajaCweClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-137"></a><span class="p">{</span>
+<a name="line-138"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-139"></a><span class="p">}</span>
+<a name="line-140"></a>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">cwe_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-143"></a>
+<a name="line-144"></a>
+<a name="line-145"></a><span class="n">GType</span>
+<a name="line-146"></a><span class="nf">caja_cwe_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-147"></a><span class="p">{</span>
+<a name="line-148"></a> <span class="k">return</span> <span class="n">cwe_type</span><span class="p">;</span>
+<a name="line-149"></a><span class="p">}</span>
+<a name="line-150"></a>
+<a name="line-151"></a>
+<a name="line-152"></a><span class="kt">void</span>
+<a name="line-153"></a><span class="nf">caja_cwe_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-154"></a><span class="p">{</span>
+<a name="line-155"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-156"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCweClass</span><span class="p">),</span>
+<a name="line-157"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-158"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-159"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_class_init</span><span class="p">,</span>
+<a name="line-160"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-161"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-162"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaCwe</span><span class="p">),</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_instance_init</span><span class="p">,</span>
+<a name="line-165"></a> <span class="p">};</span>
+<a name="line-166"></a>
+<a name="line-167"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_cwe_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-169"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-170"></a> <span class="nb">NULL</span>
+<a name="line-171"></a> <span class="p">};</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="n">cwe_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-174"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-175"></a> <span class="s">&quot;CajaCwe&quot;</span><span class="p">,</span>
+<a name="line-176"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-177"></a>
+<a name="line-178"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-179"></a> <span class="n">cwe_type</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-181"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-182"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/2.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/2.html
new file mode 100644
index 0000000..383742c
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/2.html
@@ -0,0 +1,486 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-nste.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-nste.c</p>
+<a href='2.html#line-40'> variableScope 40</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * Caja-sendto</span>
+<a name="line-3"></a><span class="cm"> *</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Free Software Foundation, Inc.</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This library is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public</span>
+<a name="line-8"></a><span class="cm"> * License as published by the Free Software Foundation; either</span>
+<a name="line-9"></a><span class="cm"> * version 2 of the License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This library is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * Library General Public License for more details.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this library; if not, write to the Free</span>
+<a name="line-18"></a><span class="cm"> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-21"></a><span class="cm"> *</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-nste.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a>
+<a name="line-33"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-36"></a><span class="nf">sendto_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-37"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-38"></a><span class="p">{</span>
+<a name="line-39"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">,</span> <span class="o">*</span><span class="n">scan</span><span class="p">;</span>
+<a name="line-40"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'uri' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;uri&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-41"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a> <span class="n">files</span> <span class="o">=</span> <span class="n">g_object_get_data</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span> <span class="s">&quot;files&quot;</span><span class="p">);</span>
+<a name="line-44"></a>
+<a name="line-45"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;caja-sendto&quot;</span><span class="p">);</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="k">for</span> <span class="p">(</span><span class="n">scan</span> <span class="o">=</span> <span class="n">files</span><span class="p">;</span> <span class="n">scan</span><span class="p">;</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-48"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span> <span class="o">=</span> <span class="n">scan</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-49"></a>
+<a name="line-50"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-51"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-52"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-53"></a> <span class="p">}</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">g_spawn_command_line_async</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-58"></a><span class="p">}</span>
+<a name="line-59"></a>
+<a name="line-60"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-61"></a><span class="nf">caja_nste_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-63"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-64"></a><span class="p">{</span>
+<a name="line-65"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">gboolean</span> <span class="n">one_item</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-68"></a>
+<a name="line-69"></a> <span class="k">if</span> <span class="p">(</span><span class="n">files</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-70"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-71"></a>
+<a name="line-72"></a> <span class="n">one_item</span> <span class="o">=</span> <span class="p">(</span><span class="n">files</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-73"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_item</span> <span class="o">&amp;&amp;</span>
+<a name="line-74"></a> <span class="o">!</span><span class="n">caja_file_info_is_directory</span> <span class="p">((</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="p">)</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-76"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-77"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send file by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-78"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-79"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaNste::sendto&quot;</span><span class="p">,</span>
+<a name="line-81"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send to...&quot;</span><span class="p">),</span>
+<a name="line-82"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Send files by mail, instant message...&quot;</span><span class="p">),</span>
+<a name="line-83"></a> <span class="s">&quot;document-send&quot;</span><span class="p">);</span>
+<a name="line-84"></a> <span class="p">}</span>
+<a name="line-85"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span>
+<a name="line-86"></a> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-87"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">sendto_callback</span><span class="p">),</span>
+<a name="line-88"></a> <span class="n">provider</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-90"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">caja_file_info_list_copy</span> <span class="p">(</span><span class="n">files</span><span class="p">),</span>
+<a name="line-92"></a> <span class="p">(</span><span class="n">GDestroyNotify</span><span class="p">)</span> <span class="n">caja_file_info_list_free</span><span class="p">);</span>
+<a name="line-93"></a>
+<a name="line-94"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">items</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-97"></a><span class="p">}</span>
+<a name="line-98"></a>
+<a name="line-99"></a>
+<a name="line-100"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-101"></a><span class="nf">caja_nste_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-102"></a><span class="p">{</span>
+<a name="line-103"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_nste_get_file_items</span><span class="p">;</span>
+<a name="line-104"></a><span class="p">}</span>
+<a name="line-105"></a>
+<a name="line-106"></a>
+<a name="line-107"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-108"></a><span class="nf">caja_nste_instance_init</span> <span class="p">(</span><span class="n">CajaNste</span> <span class="o">*</span><span class="n">nste</span><span class="p">)</span>
+<a name="line-109"></a><span class="p">{</span>
+<a name="line-110"></a><span class="p">}</span>
+<a name="line-111"></a>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-114"></a><span class="nf">caja_nste_class_init</span> <span class="p">(</span><span class="n">CajaNsteClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-117"></a><span class="p">}</span>
+<a name="line-118"></a>
+<a name="line-119"></a>
+<a name="line-120"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">nste_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-121"></a>
+<a name="line-122"></a>
+<a name="line-123"></a><span class="n">GType</span>
+<a name="line-124"></a><span class="nf">caja_nste_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-125"></a><span class="p">{</span>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">nste_type</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a>
+<a name="line-130"></a><span class="kt">void</span>
+<a name="line-131"></a><span class="nf">caja_nste_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-132"></a><span class="p">{</span>
+<a name="line-133"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-134"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNsteClass</span><span class="p">),</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-137"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_nste_class_init</span><span class="p">,</span>
+<a name="line-138"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-139"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-140"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaNste</span><span class="p">),</span>
+<a name="line-141"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-142"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_instance_init</span><span class="p">,</span>
+<a name="line-143"></a> <span class="p">};</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_nste_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-147"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-148"></a> <span class="nb">NULL</span>
+<a name="line-149"></a> <span class="p">};</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="n">nste_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-152"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-153"></a> <span class="s">&quot;CajaNste&quot;</span><span class="p">,</span>
+<a name="line-154"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-157"></a> <span class="n">nste_type</span><span class="p">,</span>
+<a name="line-158"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-159"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-160"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/3.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/3.html
new file mode 100644
index 0000000..9eec01d
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/3.html
@@ -0,0 +1,1874 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-command.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-command.c</p>
+<a href='3.html#line-401'> variableScope 401</a><a href='3.html#line-422'> variableScope 422</a><a href='3.html#line-629'> variableScope 629</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gstdio.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-31"></a>
+<a name="line-32"></a><span class="cp">#define CAJA_SENDTO_LAST_MEDIUM &quot;last-medium&quot;</span>
+<a name="line-33"></a><span class="cp">#define CAJA_SENDTO_LAST_COMPRESS &quot;last-compress&quot;</span>
+<a name="line-34"></a><span class="cp">#define CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS 10</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define UNINSTALLED_PLUGINDIR &quot;plugins/removable-devices&quot;</span>
+<a name="line-37"></a><span class="cp">#define UNINSTALLED_SOURCE &quot;caja-sendto-command.c&quot;</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="cp">#define SOEXT (&quot;.&quot; G_MODULE_SUFFIX)</span>
+<a name="line-40"></a><span class="cp">#define SOEXT_LEN (strlen (SOEXT))</span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-43"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-44"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-45"></a> <span class="n">NUM_COLUMNS</span><span class="p">,</span>
+<a name="line-46"></a><span class="p">};</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="cm">/* Options */</span>
+<a name="line-49"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">**</span><span class="n">filenames</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-50"></a>
+<a name="line-51"></a><span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-52"></a><span class="n">gboolean</span> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-53"></a><span class="n">GList</span> <span class="o">*</span><span class="n">plugin_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-54"></a><span class="n">GHashTable</span> <span class="o">*</span><span class="n">hash</span> <span class="p">;</span>
+<a name="line-55"></a><span class="n">guint</span> <span class="n">option</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GSettings</span> <span class="o">*</span><span class="n">settings</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_NS_ui</span> <span class="n">NS_ui</span><span class="p">;</span>
+<a name="line-60"></a>
+<a name="line-61"></a><span class="k">struct</span> <span class="n">_NS_ui</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-63"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">options_combobox</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_to_label</span><span class="p">;</span>
+<a name="line-65"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">hbox_contacts_ws</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cancel_button</span><span class="p">;</span>
+<a name="line-67"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">send_button</span><span class="p">;</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_combobox</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_checkbutton</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">pack_entry</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">contact_widgets</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_box</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_image</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">status_label</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">guint</span> <span class="n">status_timeoutid</span><span class="p">;</span>
+<a name="line-77"></a><span class="p">};</span>
+<a name="line-78"></a>
+<a name="line-79"></a><span class="k">static</span> <span class="k">const</span> <span class="n">GOptionEntry</span> <span class="n">entries</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-80"></a> <span class="p">{</span> <span class="n">G_OPTION_REMAINING</span><span class="p">,</span> <span class="sc">&#39;\0&#39;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">G_OPTION_ARG_FILENAME_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">filenames</span><span class="p">,</span> <span class="s">&quot;Files to send&quot;</span><span class="p">,</span> <span class="s">&quot;[FILES...]&quot;</span> <span class="p">},</span>
+<a name="line-81"></a> <span class="p">{</span> <span class="nb">NULL</span> <span class="p">}</span>
+<a name="line-82"></a><span class="p">};</span>
+<a name="line-83"></a>
+<a name="line-84"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-85"></a><span class="nf">destroy_dialog</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span> <span class="p">)</span>
+<a name="line-86"></a><span class="p">{</span>
+<a name="line-87"></a> <span class="n">gtk_main_quit</span> <span class="p">();</span>
+<a name="line-88"></a><span class="p">}</span>
+<a name="line-89"></a>
+<a name="line-90"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-91"></a><span class="nf">get_filename_from_list</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-92"></a><span class="p">{</span>
+<a name="line-93"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-94"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">common_part</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-95"></a> <span class="n">gboolean</span> <span class="n">matches</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-96"></a> <span class="n">guint</span> <span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-97"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">encoding</span><span class="p">;</span>
+<a name="line-98"></a> <span class="n">gboolean</span> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-99"></a>
+<a name="line-100"></a> <span class="n">encoding</span> <span class="o">=</span> <span class="n">g_getenv</span> <span class="p">(</span><span class="s">&quot;G_FILENAME_ENCODING&quot;</span><span class="p">);</span>
+<a name="line-101"></a>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="n">encoding</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">strcasecmp</span><span class="p">(</span><span class="n">encoding</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-103"></a> <span class="n">use_utf8</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-107"></a>
+<a name="line-108"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">while</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">gunichar</span> <span class="n">cur_char</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
+<a name="line-112"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">l</span> <span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-113"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-114"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">offset_name</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-117"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-118"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span>
+<a name="line-119"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-122"></a>
+<a name="line-123"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">use_utf8</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-124"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_filename_to_utf8</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
+<a name="line-127"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-128"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-129"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">tmp</span><span class="p">;</span>
+<a name="line-130"></a> <span class="p">}</span>
+<a name="line-131"></a>
+<a name="line-132"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-134"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-135"></a> <span class="p">}</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset</span> <span class="o">&gt;=</span> <span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-138"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-139"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-141"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a>
+<a name="line-144"></a> <span class="n">offset_name</span> <span class="o">=</span> <span class="n">g_utf8_offset_to_pointer</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">offset</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">if</span> <span class="p">(</span><span class="n">offset_name</span> <span class="o">==</span> <span class="n">g_utf8_strrchr</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="sc">&#39;.&#39;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-148"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-149"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-151"></a> <span class="p">}</span>
+<a name="line-152"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-153"></a> <span class="n">cur_char</span> <span class="o">=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">);</span>
+<a name="line-154"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cur_char</span> <span class="o">!=</span> <span class="n">g_utf8_get_char</span> <span class="p">(</span><span class="n">offset_name</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-155"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">matches</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-158"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">name</span><span class="p">);</span>
+<a name="line-161"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-162"></a> <span class="p">}</span>
+<a name="line-163"></a> <span class="k">if</span> <span class="p">(</span><span class="n">matches</span> <span class="o">==</span> <span class="n">TRUE</span> <span class="o">&amp;&amp;</span> <span class="n">cur_char</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-164"></a> <span class="n">offset</span><span class="o">++</span><span class="p">;</span>
+<a name="line-165"></a> <span class="n">common_part</span> <span class="o">=</span> <span class="n">g_string_append_unichar</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">cur_char</span><span class="p">);</span>
+<a name="line-167"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-168"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-169"></a> <span class="p">}</span>
+<a name="line-170"></a> <span class="p">}</span>
+<a name="line-171"></a>
+<a name="line-172"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">common_part</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-173"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-174"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-175"></a> <span class="p">}</span>
+<a name="line-176"></a>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">common_part</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-181"></a><span class="nf">pack_files</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">engrampa_cmd</span><span class="p">;</span>
+<a name="line-184"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-185"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-186"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">cmd</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp</span><span class="p">;</span>
+<a name="line-187"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">pack_type</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="o">*</span><span class="n">packed_file</span><span class="p">;</span>
+<a name="line-188"></a>
+<a name="line-189"></a> <span class="n">engrampa_cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;engrampa&quot;</span><span class="p">);</span>
+<a name="line-190"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">*</span><span class="n">filename</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">tmp_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s&quot;</span><span class="p">,</span>
+<a name="line-195"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">());</span>
+<a name="line-196"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">tmp_work_dir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;%s/caja-sendto-%s/%li&quot;</span><span class="p">,</span>
+<a name="line-198"></a> <span class="n">g_get_tmp_dir</span><span class="p">(),</span> <span class="n">g_get_user_name</span><span class="p">(),</span>
+<a name="line-199"></a> <span class="n">time</span><span class="p">(</span><span class="nb">NULL</span><span class="p">));</span>
+<a name="line-200"></a> <span class="n">g_mkdir</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">,</span> <span class="mo">0700</span><span class="p">);</span>
+<a name="line-201"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_dir</span><span class="p">);</span>
+<a name="line-202"></a>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">))</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-204"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="n">gtk_combo_box_text_get_active_text</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX_TEXT</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">));</span>
+<a name="line-205"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-206"></a> <span class="n">pack_type</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-207"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-208"></a> <span class="p">}</span>
+<a name="line-209"></a>
+<a name="line-210"></a> <span class="n">g_settings_set_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-211"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">gtk_combo_box_get_active</span><span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">)));</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_string_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-215"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s">&quot;%s --add-to=</span><span class="se">\&quot;</span><span class="s">%s/%s%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span>
+<a name="line-216"></a> <span class="n">engrampa_cmd</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-217"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-218"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-219"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">engrampa_cmd</span><span class="p">);</span>
+<a name="line-220"></a>
+<a name="line-221"></a> <span class="cm">/* engrampa doesn&#39;t understand URIs */</span>
+<a name="line-222"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">file_list</span> <span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span><span class="o">=</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-223"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-224"></a>
+<a name="line-225"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a> <span class="n">g_string_append_printf</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span><span class="s">&quot; </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">file</span><span class="p">);</span>
+<a name="line-227"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a>
+<a name="line-230"></a> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="n">cmd</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a> <span class="n">g_string_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-232"></a> <span class="n">tmp</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-233"></a> <span class="n">g_string_printf</span> <span class="p">(</span><span class="n">tmp</span><span class="p">,</span><span class="s">&quot;%s/%s%s&quot;</span><span class="p">,</span> <span class="n">tmp_work_dir</span><span class="p">,</span>
+<a name="line-234"></a> <span class="n">filename</span><span class="p">,</span>
+<a name="line-235"></a> <span class="n">pack_type</span><span class="p">);</span>
+<a name="line-236"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">pack_type</span><span class="p">);</span>
+<a name="line-237"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">tmp_work_dir</span><span class="p">);</span>
+<a name="line-238"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">tmp</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-239"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">tmp</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-240"></a> <span class="k">return</span> <span class="n">packed_file</span><span class="p">;</span>
+<a name="line-241"></a><span class="p">}</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-244"></a><span class="nf">status_label_clear</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-245"></a><span class="p">{</span>
+<a name="line-246"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span> <span class="o">=</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="p">)</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-247"></a> <span class="n">gtk_label_set_label</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-248"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-251"></a>
+<a name="line-252"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">send_button_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-259"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-260"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-265"></a> <span class="n">w</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-266"></a>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="n">g_source_remove</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span><span class="p">);</span>
+<a name="line-269"></a> <span class="n">status_label_clear</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-270"></a> <span class="p">}</span>
+<a name="line-271"></a>
+<a name="line-272"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-273"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-274"></a>
+<a name="line-275"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-276"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-277"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">validate_destination</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-278"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">gtk_label_set_markup</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_timeoutid</span> <span class="o">=</span> <span class="n">g_timeout_add_seconds</span> <span class="p">(</span><span class="n">CAJA_SENDTO_STATUS_LABEL_TIMEOUT_SECONDS</span><span class="p">,</span>
+<a name="line-285"></a> <span class="n">status_label_clear</span><span class="p">,</span>
+<a name="line-286"></a> <span class="n">ui</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-290"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-291"></a> <span class="p">}</span>
+<a name="line-292"></a> <span class="p">}</span>
+<a name="line-293"></a>
+<a name="line-294"></a> <span class="n">g_settings_set_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-295"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">,</span>
+<a name="line-296"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-297"></a>
+<a name="line-298"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span><span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">))){</span>
+<a name="line-299"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-300"></a>
+<a name="line-301"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">pack_files</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">f</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">packed_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-304"></a> <span class="n">packed_file</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">,</span> <span class="n">f</span><span class="p">);</span>
+<a name="line-305"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">packed_file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-306"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-307"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-308"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">packed_file</span><span class="p">);</span>
+<a name="line-311"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-313"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-314"></a> <span class="p">}</span>
+<a name="line-315"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-316"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">send_files</span> <span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">file_list</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-318"></a> <span class="n">g_list_foreach</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="p">(</span><span class="n">GFunc</span><span class="p">)</span> <span class="n">g_free</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-321"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a> <span class="n">g_list_free</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-324"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-325"></a> <span class="p">}</span>
+<a name="line-326"></a> <span class="n">destroy_dialog</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-327"></a><span class="p">}</span>
+<a name="line-328"></a>
+<a name="line-329"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-330"></a><span class="nf">send_if_no_pack_cb</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-331"></a><span class="p">{</span>
+<a name="line-332"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_widget_is_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">);</span>
+<a name="line-335"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-336"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">);</span>
+<a name="line-337"></a> <span class="p">}</span>
+<a name="line-338"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="n">send_button_cb</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a><span class="p">}</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-344"></a><span class="nf">toggle_pack_check</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-345"></a><span class="p">{</span>
+<a name="line-346"></a> <span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">t</span> <span class="o">=</span> <span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-347"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-348"></a>
+<a name="line-349"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">t</span><span class="p">));</span>
+<a name="line-350"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-351"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-354"></a>
+<a name="line-355"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-356"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-360"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-361"></a> <span class="p">}</span>
+<a name="line-362"></a>
+<a name="line-363"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-364"></a><span class="p">}</span>
+<a name="line-365"></a>
+<a name="line-366"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-367"></a><span class="nf">option_changed</span> <span class="p">(</span><span class="n">GtkComboBox</span> <span class="o">*</span><span class="n">cb</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-368"></a><span class="p">{</span>
+<a name="line-369"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a>
+<a name="line-373"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-374"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">));</span>
+<a name="line-375"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-376"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">w</span><span class="p">);</span>
+<a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gtk_label_set_mnemonic_widget</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span><span class="p">),</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-380"></a>
+<a name="line-381"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-382"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-383"></a>
+<a name="line-384"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-385"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-386"></a>
+<a name="line-387"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-388"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-390"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-391"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-392"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-394"></a> <span class="p">}</span>
+<a name="line-395"></a><span class="p">}</span>
+<a name="line-396"></a>
+<a name="line-397"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-398"></a><span class="nf">set_contact_widgets</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-399"></a><span class="p">{</span>
+<a name="line-400"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span> <span class="p">;</span>
+<a name="line-401"></a><span class="hll"> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">w</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'w' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;w&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-402"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-403"></a>
+<a name="line-404"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-405"></a>
+<a name="line-406"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">){</span>
+<a name="line-407"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">w</span> <span class="o">=</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">get_contacts_widget</span><span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-409"></a> <span class="n">gtk_box_pack_end</span> <span class="p">(</span><span class="n">GTK_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span><span class="p">),</span><span class="n">w</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">GTK_WIDGET</span><span class="p">(</span><span class="n">w</span><span class="p">));</span>
+<a name="line-411"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">w</span><span class="p">);</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">GTK_IS_ENTRY</span> <span class="p">(</span><span class="n">w</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-413"></a> <span class="n">g_signal_connect_after</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">w</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-414"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_if_no_pack_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-415"></a> <span class="p">}</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a><span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-420"></a><span class="nf">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-421"></a><span class="p">{</span>
+<a name="line-422"></a><span class="hll"> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'pixbuf' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;pixbuf&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-423"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-424"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-425"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-427"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-428"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">aux</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">last_used</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-431"></a> <span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-432"></a> <span class="n">gboolean</span> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-433"></a>
+<a name="line-434"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-435"></a>
+<a name="line-436"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLUMNS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">last_used</span> <span class="o">=</span> <span class="n">g_settings_get_string</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">CAJA_SENDTO_LAST_MEDIUM</span><span class="p">);</span>
+<a name="line-440"></a>
+<a name="line-441"></a> <span class="k">for</span> <span class="p">(</span><span class="n">aux</span> <span class="o">=</span> <span class="n">plugin_list</span><span class="p">;</span> <span class="n">aux</span><span class="p">;</span> <span class="n">aux</span> <span class="o">=</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-442"></a> <span class="n">p</span> <span class="o">=</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="p">)</span> <span class="n">aux</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-443"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk_icon_theme_load_icon</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">icon</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span>
+<a name="line-444"></a> <span class="n">GTK_ICON_LOOKUP_USE_BUILTIN</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-445"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-446"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-447"></a> <span class="n">COLUMN_ICON</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span>
+<a name="line-448"></a> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span> <span class="n">dgettext</span><span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">gettext_package</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">description</span><span class="p">),</span>
+<a name="line-449"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-450"></a> <span class="k">if</span> <span class="p">(</span><span class="n">last_used</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="n">last_used</span><span class="p">,</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="n">option</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-452"></a> <span class="n">last_used_support_dirs</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">capabilities</span> <span class="o">&amp;</span> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-455"></a> <span class="p">}</span>
+<a name="line-456"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">last_used</span><span class="p">);</span>
+<a name="line-457"></a>
+<a name="line-458"></a> <span class="n">gtk_combo_box_set_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-459"></a> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">model</span><span class="p">));</span>
+<a name="line-460"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-461"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-462"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-463"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-464"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-465"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-466"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COLUMN_ICON</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-468"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-469"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">renderer</span><span class="p">),</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-470"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-471"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-472"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-473"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span>
+<a name="line-474"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-475"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COLUMN_DESCRIPTION</span><span class="p">,</span>
+<a name="line-476"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-477"></a>
+<a name="line-478"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-479"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">option_changed</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-480"></a>
+<a name="line-481"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span><span class="p">),</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="cm">/* Grab the focus for the most recently used widget */</span>
+<a name="line-484"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">g_list_nth_data</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">contact_widgets</span><span class="p">,</span> <span class="n">option</span><span class="p">);</span>
+<a name="line-485"></a> <span class="n">gtk_widget_grab_focus</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-486"></a>
+<a name="line-487"></a> <span class="k">return</span> <span class="n">last_used_support_dirs</span><span class="p">;</span>
+<a name="line-488"></a><span class="p">}</span>
+<a name="line-489"></a>
+<a name="line-490"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-491"></a><span class="nf">pack_entry_changed_cb</span> <span class="p">(</span><span class="n">GObject</span> <span class="o">*</span><span class="n">object</span><span class="p">,</span> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">)</span>
+<a name="line-492"></a><span class="p">{</span>
+<a name="line-493"></a> <span class="n">gboolean</span> <span class="n">send_enabled</span><span class="p">;</span>
+<a name="line-494"></a>
+<a name="line-495"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-496"></a>
+<a name="line-497"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-498"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span><span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">));</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">filename</span> <span class="o">==</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-502"></a> <span class="n">send_enabled</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-503"></a> <span class="p">}</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">,</span> <span class="n">send_enabled</span><span class="p">);</span>
+<a name="line-506"></a><span class="p">}</span>
+<a name="line-507"></a>
+<a name="line-508"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-509"></a><span class="nf">update_button_image</span> <span class="p">(</span><span class="n">GtkSettings</span> <span class="o">*</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">GParamSpec</span> <span class="o">*</span><span class="n">spec</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">)</span>
+<a name="line-512"></a><span class="p">{</span>
+<a name="line-513"></a> <span class="n">gboolean</span> <span class="n">show_images</span><span class="p">;</span>
+<a name="line-514"></a>
+<a name="line-515"></a> <span class="n">g_object_get</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s">&quot;gtk-button-images&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">show_images</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-516"></a> <span class="k">if</span> <span class="p">(</span><span class="n">show_images</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-517"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-520"></a><span class="p">}</span>
+<a name="line-521"></a>
+<a name="line-522"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-523"></a><span class="nf">caja_sendto_create_ui</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-524"></a><span class="p">{</span>
+<a name="line-525"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">builder</span><span class="p">;</span>
+<a name="line-526"></a> <span class="n">GError</span><span class="o">*</span> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-527"></a> <span class="n">NS_ui</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-529"></a> <span class="n">gboolean</span> <span class="n">supports_dirs</span><span class="p">;</span>
+<a name="line-530"></a> <span class="n">GtkSettings</span> <span class="o">*</span><span class="n">gtk_settings</span><span class="p">;</span>
+<a name="line-531"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_image</span><span class="p">;</span>
+<a name="line-532"></a>
+<a name="line-533"></a> <span class="n">builder</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_builder_add_from_resource</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;/org/mate/caja/extensions/sendto/caja-sendto.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-535"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Could not parse UI definition: %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="n">ui</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">NS_ui</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-540"></a>
+<a name="line-541"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">hbox_contacts_ws</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;hbox_contacts_widgets&quot;</span><span class="p">));</span>
+<a name="line-542"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_to_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_to_label&quot;</span><span class="p">));</span>
+<a name="line-543"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">options_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;options_combobox&quot;</span><span class="p">));</span>
+<a name="line-544"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;caja_sendto_dialog&quot;</span><span class="p">));</span>
+<a name="line-545"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;cancel_button&quot;</span><span class="p">));</span>
+<a name="line-546"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;send_button&quot;</span><span class="p">));</span>
+<a name="line-547"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_combobox&quot;</span><span class="p">));</span>
+<a name="line-548"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_entry&quot;</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;pack_checkbutton&quot;</span><span class="p">));</span>
+<a name="line-550"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_box</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_box&quot;</span><span class="p">));</span>
+<a name="line-551"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_label</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_label&quot;</span><span class="p">));</span>
+<a name="line-552"></a> <span class="n">ui</span><span class="o">-&gt;</span><span class="n">status_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;status_image&quot;</span><span class="p">));</span>
+<a name="line-553"></a>
+<a name="line-554"></a> <span class="n">gtk_settings</span> <span class="o">=</span> <span class="n">gtk_settings_get_default</span> <span class="p">();</span>
+<a name="line-555"></a> <span class="n">button_image</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">builder</span><span class="p">,</span> <span class="s">&quot;image1&quot;</span><span class="p">));</span>
+<a name="line-556"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">),</span> <span class="s">&quot;notify::gtk-button-images&quot;</span><span class="p">,</span>
+<a name="line-557"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">update_button_image</span><span class="p">),</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-558"></a> <span class="n">update_button_image</span> <span class="p">(</span><span class="n">gtk_settings</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">button_image</span><span class="p">);</span>
+<a name="line-559"></a>
+<a name="line-560"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">),</span>
+<a name="line-561"></a> <span class="n">g_settings_get_int</span> <span class="p">(</span><span class="n">settings</span><span class="p">,</span>
+<a name="line-562"></a> <span class="n">CAJA_SENDTO_LAST_COMPRESS</span><span class="p">));</span>
+<a name="line-563"></a>
+<a name="line-564"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">file_list</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-565"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-566"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-567"></a> <span class="n">one_file</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Files&quot;</span><span class="p">));</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="k">if</span> <span class="p">(</span><span class="n">one_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-572"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filepath</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">filepath</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span> <span class="p">((</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n">file_list</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">,</span>
+<a name="line-575"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-576"></a>
+<a name="line-577"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filepath</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-578"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_path_get_basename</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-579"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span>
+<a name="line-580"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="n">filename</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-583"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filepath</span><span class="p">);</span>
+<a name="line-584"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-585"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span> <span class="o">=</span> <span class="n">get_filename_from_list</span> <span class="p">();</span>
+<a name="line-586"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filename</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-587"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span>
+<a name="line-588"></a> <span class="n">filename</span><span class="p">);</span>
+<a name="line-589"></a> <span class="p">}</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-591"></a> <span class="p">}</span>
+<a name="line-592"></a>
+<a name="line-593"></a> <span class="n">set_contact_widgets</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-594"></a> <span class="n">supports_dirs</span> <span class="o">=</span> <span class="n">set_model_for_options_combobox</span> <span class="p">(</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-595"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">),</span> <span class="s">&quot;destroy&quot;</span><span class="p">,</span>
+<a name="line-596"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-597"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">cancel_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-598"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">destroy_dialog</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-599"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">send_button</span><span class="p">),</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-600"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-601"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-602"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">send_button_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-603"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">),</span> <span class="s">&quot;notify::text&quot;</span><span class="p">,</span>
+<a name="line-604"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">pack_entry_changed_cb</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-605"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-606"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">toggle_pack_check</span><span class="p">),</span> <span class="n">ui</span><span class="p">);</span>
+<a name="line-607"></a>
+<a name="line-608"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">builder</span><span class="p">);</span>
+<a name="line-609"></a>
+<a name="line-610"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_dirs</span> <span class="o">==</span> <span class="n">FALSE</span> <span class="o">||</span> <span class="n">supports_dirs</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-611"></a> <span class="n">gboolean</span> <span class="n">toggle</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">toggle</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_combobox</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-615"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_entry</span><span class="p">,</span> <span class="n">toggle</span><span class="p">);</span>
+<a name="line-616"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-617"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-618"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">pack_checkbutton</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-619"></a> <span class="p">}</span>
+<a name="line-620"></a>
+<a name="line-621"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">ui</span><span class="o">-&gt;</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-622"></a>
+<a name="line-623"></a><span class="p">}</span>
+<a name="line-624"></a>
+<a name="line-625"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-626"></a><span class="nf">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">)</span>
+<a name="line-627"></a><span class="p">{</span>
+<a name="line-628"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-629"></a><span class="hll"> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'item' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;item&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-630"></a> <span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">gboolean</span> <span class="p">(</span><span class="o">*</span><span class="n">nst_init_plugin</span><span class="p">)(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">p</span><span class="p">);</span>
+<a name="line-632"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-637"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-638"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-639"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-640"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-641"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-642"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_suffix</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">SOEXT</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-643"></a> <span class="n">g_autofree</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">module_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">p</span> <span class="o">=</span> <span class="n">g_new0</span><span class="p">(</span><span class="n">NstPlugin</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">module_path</span> <span class="o">=</span> <span class="n">g_module_build_path</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-648"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">module_path</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-649"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-650"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-651"></a> <span class="p">}</span>
+<a name="line-652"></a>
+<a name="line-653"></a> <span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span> <span class="o">=</span> <span class="n">g_module_open</span> <span class="p">(</span><span class="n">module_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-654"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-655"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error opening %s: %s&quot;</span><span class="p">,</span> <span class="n">module_path</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-656"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-657"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-658"></a> <span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_module_symbol</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">,</span> <span class="s">&quot;nst_init_plugin&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span> <span class="o">*</span><span class="p">)</span> <span class="o">&amp;</span><span class="n">nst_init_plugin</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-661"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;error: %s&quot;</span><span class="p">,</span> <span class="n">g_module_error</span> <span class="p">());</span>
+<a name="line-662"></a> <span class="n">g_module_close</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">module</span><span class="p">);</span>
+<a name="line-663"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-664"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-665"></a> <span class="p">}</span>
+<a name="line-666"></a>
+<a name="line-667"></a> <span class="n">nst_init_plugin</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-668"></a> <span class="k">if</span> <span class="p">(</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">init</span><span class="p">(</span><span class="n">p</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-669"></a> <span class="n">plugin_list</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+<a name="line-670"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-671"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">p</span><span class="p">);</span>
+<a name="line-672"></a> <span class="p">}</span>
+<a name="line-673"></a> <span class="p">}</span>
+<a name="line-674"></a> <span class="p">}</span>
+<a name="line-675"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-676"></a> <span class="p">}</span>
+<a name="line-677"></a><span class="p">}</span>
+<a name="line-678"></a>
+<a name="line-679"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-680"></a><span class="nf">caja_sendto_plugin_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-681"></a><span class="p">{</span>
+<a name="line-682"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">UNINSTALLED_PLUGINDIR</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-683"></a> <span class="cm">/* Try to load the local plugins */</span>
+<a name="line-684"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-685"></a> <span class="n">GDir</span> <span class="o">*</span><span class="n">dir</span><span class="p">;</span>
+<a name="line-686"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-687"></a>
+<a name="line-688"></a> <span class="n">dir</span> <span class="o">=</span> <span class="n">g_dir_open</span> <span class="p">(</span><span class="s">&quot;plugins/&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">err</span><span class="p">);</span>
+<a name="line-689"></a> <span class="k">if</span> <span class="p">(</span><span class="n">dir</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-690"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;Can&#39;t open the plugins dir: %s&quot;</span><span class="p">,</span> <span class="n">err</span> <span class="o">?</span> <span class="n">err</span><span class="o">-&gt;</span><span class="nl">message</span> <span class="p">:</span> <span class="s">&quot;No reason&quot;</span><span class="p">);</span>
+<a name="line-691"></a> <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span>
+<a name="line-692"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">err</span><span class="p">);</span>
+<a name="line-693"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-694"></a> <span class="p">}</span>
+<a name="line-695"></a> <span class="k">while</span> <span class="p">((</span><span class="n">item</span> <span class="o">=</span> <span class="n">g_dir_read_name</span><span class="p">(</span><span class="n">dir</span><span class="p">)))</span> <span class="p">{</span>
+<a name="line-696"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">plugindir</span><span class="p">;</span>
+<a name="line-697"></a>
+<a name="line-698"></a> <span class="n">plugindir</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;plugins/%s/.libs/&quot;</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-699"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-700"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">plugindir</span><span class="p">);</span>
+<a name="line-702"></a> <span class="p">}</span>
+<a name="line-703"></a> <span class="n">g_dir_close</span> <span class="p">(</span><span class="n">dir</span><span class="p">);</span>
+<a name="line-704"></a> <span class="p">}</span>
+<a name="line-705"></a>
+<a name="line-706"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-707"></a> <span class="n">caja_sendto_plugin_dir_process</span> <span class="p">(</span><span class="n">PLUGINDIR</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="k">return</span> <span class="n">g_list_length</span> <span class="p">(</span><span class="n">plugin_list</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-710"></a><span class="p">}</span>
+<a name="line-711"></a>
+<a name="line-712"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-713"></a><span class="nf">escape_ampersands_and_commas</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">)</span>
+<a name="line-714"></a><span class="p">{</span>
+<a name="line-715"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-716"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">,</span> <span class="o">*</span><span class="n">ptr</span><span class="p">;</span>
+<a name="line-717"></a>
+<a name="line-718"></a> <span class="cm">/* Count the number of ampersands &amp; commas */</span>
+<a name="line-719"></a> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-720"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-721"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-722"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-723"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-724"></a> <span class="p">}</span>
+<a name="line-725"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">url</span><span class="p">;</span>
+<a name="line-726"></a> <span class="k">while</span> <span class="p">((</span><span class="n">ptr</span> <span class="o">=</span> <span class="n">strchr</span> <span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="sc">&#39;,&#39;</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-727"></a> <span class="n">i</span><span class="o">++</span><span class="p">;</span>
+<a name="line-728"></a> <span class="n">ptr</span><span class="o">++</span><span class="p">;</span>
+<a name="line-729"></a> <span class="p">}</span>
+<a name="line-730"></a>
+<a name="line-731"></a> <span class="cm">/* No ampersands or commas ? */</span>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">i</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-733"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-734"></a>
+<a name="line-735"></a> <span class="cm">/* Replace the &#39;&amp;&#39; */</span>
+<a name="line-736"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_malloc0</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">-</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">3</span> <span class="o">*</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">ptr</span> <span class="o">=</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-738"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-739"></a> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;&amp;&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-740"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-741"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-742"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;6&#39;</span><span class="p">;</span>
+<a name="line-743"></a> <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="sc">&#39;,&#39;</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-744"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;%&#39;</span><span class="p">;</span>
+<a name="line-745"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;2&#39;</span><span class="p">;</span>
+<a name="line-746"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="sc">&#39;C&#39;</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="o">*</span><span class="n">ptr</span><span class="o">++</span> <span class="o">=</span> <span class="n">url</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-749"></a> <span class="p">}</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-753"></a><span class="p">}</span>
+<a name="line-754"></a>
+<a name="line-755"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-756"></a><span class="nf">caja_sendto_init</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-757"></a><span class="p">{</span>
+<a name="line-758"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-759"></a>
+<a name="line-760"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_module_supported</span><span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-761"></a> <span class="n">g_error</span> <span class="p">(</span><span class="s">&quot;Could not initialize gmodule support&quot;</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">filenames</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-764"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-765"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="o">*</span><span class="n">escaped</span><span class="p">,</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_commandline_arg</span> <span class="p">(</span><span class="n">filenames</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-768"></a> <span class="n">filename</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-769"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-770"></a> <span class="k">if</span> <span class="p">(</span><span class="n">filename</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-771"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-772"></a>
+<a name="line-773"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_file_test</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">FALSE</span><span class="p">)</span>
+<a name="line-774"></a> <span class="n">has_dirs</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-775"></a>
+<a name="line-776"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">g_filename_to_uri</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-777"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">filename</span><span class="p">);</span>
+<a name="line-778"></a> <span class="n">escaped</span> <span class="o">=</span> <span class="n">escape_ampersands_and_commas</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-779"></a>
+<a name="line-780"></a> <span class="k">if</span> <span class="p">(</span><span class="n">escaped</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-781"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-782"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-783"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_prepend</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">escaped</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-785"></a> <span class="p">}</span>
+<a name="line-786"></a> <span class="p">}</span>
+<a name="line-787"></a>
+<a name="line-788"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_list</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-789"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Expects URIs or filenames to be passed as options</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">));</span>
+<a name="line-790"></a> <span class="n">exit</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-791"></a> <span class="p">}</span>
+<a name="line-792"></a>
+<a name="line-793"></a> <span class="n">file_list</span> <span class="o">=</span> <span class="n">g_list_reverse</span> <span class="p">(</span><span class="n">file_list</span><span class="p">);</span>
+<a name="line-794"></a><span class="p">}</span>
+<a name="line-795"></a>
+<a name="line-796"></a><span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<a name="line-797"></a><span class="p">{</span>
+<a name="line-798"></a> <span class="n">GOptionContext</span> <span class="o">*</span><span class="n">context</span><span class="p">;</span>
+<a name="line-799"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-800"></a>
+<a name="line-801"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-802"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">textdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">g_option_context_new</span> <span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-806"></a> <span class="n">g_option_context_add_main_entries</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">entries</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-807"></a> <span class="n">g_option_context_add_group</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">gtk_get_option_group</span> <span class="p">(</span><span class="n">TRUE</span><span class="p">));</span>
+<a name="line-808"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_option_context_parse</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">)</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-809"></a> <span class="n">g_print</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not parse command-line options: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-810"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-811"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-812"></a> <span class="p">}</span>
+<a name="line-813"></a>
+<a name="line-814"></a> <span class="n">settings</span> <span class="o">=</span> <span class="n">g_settings_new</span> <span class="p">(</span><span class="s">&quot;org.mate.Caja.Sendto&quot;</span><span class="p">);</span>
+<a name="line-815"></a> <span class="n">caja_sendto_init</span> <span class="p">();</span>
+<a name="line-816"></a> <span class="k">if</span> <span class="p">(</span><span class="n">caja_sendto_plugin_init</span> <span class="p">()</span> <span class="o">==</span> <span class="n">FALSE</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-817"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">error_dialog</span><span class="p">;</span>
+<a name="line-818"></a>
+<a name="line-819"></a> <span class="n">error_dialog</span> <span class="o">=</span>
+<a name="line-820"></a> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span>
+<a name="line-822"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-823"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-824"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not load any plugins.&quot;</span><span class="p">));</span>
+<a name="line-825"></a> <span class="n">gtk_message_dialog_format_secondary_text</span>
+<a name="line-826"></a> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-827"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Please verify your installation&quot;</span><span class="p">));</span>
+<a name="line-828"></a>
+<a name="line-829"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span> <span class="cm">/* as per HIG */</span>
+<a name="line-830"></a> <span class="n">gtk_container_set_border_width</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span>
+<a name="line-831"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">),</span>
+<a name="line-832"></a> <span class="n">GTK_RESPONSE_OK</span><span class="p">);</span>
+<a name="line-833"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">error_dialog</span><span class="p">));</span>
+<a name="line-834"></a> <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-835"></a> <span class="p">}</span>
+<a name="line-836"></a> <span class="n">caja_sendto_create_ui</span> <span class="p">();</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="n">gtk_main</span> <span class="p">();</span>
+<a name="line-839"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">settings</span><span class="p">);</span>
+<a name="line-840"></a>
+<a name="line-841"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-842"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/4.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/4.html
new file mode 100644
index 0000000..f1a853b
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/4.html
@@ -0,0 +1,922 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/caja-sendto-resources.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-sendto-resources.c</p>
+<a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-10'> unusedStructMember 10</a><a href='4.html#line-121'> unusedStructMember 121</a><a href='4.html#line-121'> unusedStructMember 121</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cp">#if defined (__ELF__) &amp;&amp; ( __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 6))</span>
+<a name="line-4"></a><span class="cp"># define SECTION __attribute__ ((section (&quot;.gresource.sendto&quot;), aligned (8)))</span>
+<a name="line-5"></a><span class="cp">#else</span>
+<a name="line-6"></a><span class="cp"># define SECTION</span>
+<a name="line-7"></a><span class="cp">#endif</span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#ifdef _MSC_VER</span>
+<a name="line-10"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-11"></a> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-12"></a> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-13"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-14"></a> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span>
+<a name="line-15"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-16"></a> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-17"></a> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span>
+<a name="line-18"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-19"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-20"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span>
+<a name="line-21"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-22"></a> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-23"></a> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-24"></a> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-25"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-26"></a> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-27"></a> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-28"></a> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-29"></a> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span>
+<a name="line-30"></a> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-31"></a> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span>
+<a name="line-32"></a> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-33"></a> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span>
+<a name="line-34"></a> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-35"></a> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0206</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-36"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span>
+<a name="line-37"></a> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span>
+<a name="line-38"></a> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span>
+<a name="line-39"></a> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span>
+<a name="line-40"></a> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span>
+<a name="line-41"></a> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span>
+<a name="line-42"></a> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span>
+<a name="line-43"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span>
+<a name="line-44"></a> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span>
+<a name="line-45"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span>
+<a name="line-46"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span>
+<a name="line-47"></a> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0166</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span>
+<a name="line-48"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span>
+<a name="line-49"></a> <span class="mo">0177</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-50"></a> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span>
+<a name="line-51"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span>
+<a name="line-52"></a> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span>
+<a name="line-53"></a> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0040</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span>
+<a name="line-54"></a> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0102</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span>
+<a name="line-55"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0222</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span>
+<a name="line-56"></a> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span>
+<a name="line-57"></a> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span>
+<a name="line-58"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span>
+<a name="line-59"></a> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span>
+<a name="line-60"></a> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-61"></a> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0301</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span>
+<a name="line-62"></a> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0015</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span>
+<a name="line-63"></a> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0263</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span>
+<a name="line-64"></a> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0344</span><span class="p">,</span> <span class="mo">0277</span><span class="p">,</span> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span>
+<a name="line-65"></a> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0065</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span>
+<a name="line-66"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0014</span><span class="p">,</span>
+<a name="line-67"></a> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span>
+<a name="line-68"></a> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0036</span><span class="p">,</span>
+<a name="line-69"></a> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0164</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-70"></a> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span>
+<a name="line-71"></a> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0302</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span>
+<a name="line-72"></a> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span>
+<a name="line-73"></a> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0313</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span>
+<a name="line-74"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-75"></a> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0231</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span>
+<a name="line-76"></a> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0006</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span>
+<a name="line-77"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0052</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0027</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0010</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span>
+<a name="line-78"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0320</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span>
+<a name="line-79"></a> <span class="mo">0147</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0064</span><span class="p">,</span> <span class="mo">0376</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0362</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0043</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span>
+<a name="line-80"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0020</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0130</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0334</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-81"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span>
+<a name="line-82"></a> <span class="mo">0342</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0155</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span>
+<a name="line-83"></a> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0001</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0316</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span>
+<a name="line-84"></a> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0160</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span>
+<a name="line-85"></a> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0011</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0204</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span>
+<a name="line-86"></a> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0022</span><span class="p">,</span> <span class="mo">0242</span><span class="p">,</span> <span class="mo">0106</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span>
+<a name="line-87"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span>
+<a name="line-88"></a> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0142</span><span class="p">,</span>
+<a name="line-89"></a> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0126</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0117</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0045</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0253</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span>
+<a name="line-90"></a> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0061</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-91"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0311</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span>
+<a name="line-92"></a> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0062</span><span class="p">,</span> <span class="mo">0150</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span>
+<a name="line-93"></a> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0005</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span>
+<a name="line-94"></a> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0016</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0120</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span>
+<a name="line-95"></a> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0243</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0162</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-96"></a> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0371</span><span class="p">,</span>
+<a name="line-97"></a> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0131</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0210</span><span class="p">,</span> <span class="mo">0110</span><span class="p">,</span> <span class="mo">0221</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0042</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0352</span><span class="p">,</span> <span class="mo">0153</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span>
+<a name="line-98"></a> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span> <span class="mo">0075</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0034</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0245</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0341</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span>
+<a name="line-99"></a> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0317</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0024</span><span class="p">,</span> <span class="mo">0151</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0214</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0030</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0361</span><span class="p">,</span> <span class="mo">0201</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span>
+<a name="line-100"></a> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0256</span><span class="p">,</span> <span class="mo">0303</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0021</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0364</span><span class="p">,</span> <span class="mo">0121</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0233</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span>
+<a name="line-101"></a> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0356</span><span class="p">,</span> <span class="mo">0314</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0261</span><span class="p">,</span> <span class="mo">0350</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0241</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0365</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span>
+<a name="line-102"></a> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0336</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0044</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0324</span><span class="p">,</span>
+<a name="line-103"></a> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0140</span><span class="p">,</span> <span class="mo">0051</span><span class="p">,</span> <span class="mo">0247</span><span class="p">,</span> <span class="mo">0327</span><span class="p">,</span> <span class="mo">0004</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0200</span><span class="p">,</span> <span class="mo">0323</span><span class="p">,</span> <span class="mo">0103</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0337</span><span class="p">,</span> <span class="mo">0274</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0060</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span>
+<a name="line-104"></a> <span class="mo">0013</span><span class="p">,</span> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0077</span><span class="p">,</span> <span class="mo">0157</span><span class="p">,</span> <span class="mo">0063</span><span class="p">,</span> <span class="mo">0163</span><span class="p">,</span> <span class="mo">0332</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0343</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0074</span><span class="p">,</span> <span class="mo">0310</span><span class="p">,</span> <span class="mo">0276</span><span class="p">,</span> <span class="mo">0232</span><span class="p">,</span> <span class="mo">0203</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span>
+<a name="line-105"></a> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0017</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0146</span><span class="p">,</span> <span class="mo">0355</span><span class="p">,</span> <span class="mo">0226</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span> <span class="mo">0007</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0144</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span>
+<a name="line-106"></a> <span class="mo">0123</span><span class="p">,</span> <span class="mo">0230</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0236</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0073</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0167</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0234</span><span class="p">,</span> <span class="mo">0223</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0107</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span>
+<a name="line-107"></a> <span class="mo">0325</span><span class="p">,</span> <span class="mo">0271</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0211</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span> <span class="mo">0114</span><span class="p">,</span> <span class="mo">0305</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0264</span><span class="p">,</span> <span class="mo">0076</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span>
+<a name="line-108"></a> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0170</span><span class="p">,</span> <span class="mo">0272</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0175</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0002</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0333</span><span class="p">,</span> <span class="mo">0345</span><span class="p">,</span> <span class="mo">0115</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0374</span><span class="p">,</span>
+<a name="line-109"></a> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0041</span><span class="p">,</span> <span class="mo">0046</span><span class="p">,</span> <span class="mo">0321</span><span class="p">,</span> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0254</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0173</span><span class="p">,</span> <span class="mo">0133</span><span class="p">,</span> <span class="mo">0202</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span>
+<a name="line-110"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0137</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0154</span><span class="p">,</span> <span class="mo">0330</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0335</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0100</span><span class="p">,</span> <span class="mo">0265</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0373</span><span class="p">,</span> <span class="mo">0346</span><span class="p">,</span> <span class="mo">0262</span><span class="p">,</span> <span class="mo">0360</span><span class="p">,</span>
+<a name="line-111"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0366</span><span class="p">,</span> <span class="mo">0176</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0267</span><span class="p">,</span> <span class="mo">0113</span><span class="p">,</span> <span class="mo">0252</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0056</span><span class="p">,</span> <span class="mo">0145</span><span class="p">,</span> <span class="mo">0057</span><span class="p">,</span> <span class="mo">0220</span><span class="p">,</span> <span class="mo">0172</span><span class="p">,</span> <span class="mo">0240</span><span class="p">,</span> <span class="mo">0224</span><span class="p">,</span> <span class="mo">0124</span><span class="p">,</span>
+<a name="line-112"></a> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0035</span><span class="p">,</span> <span class="mo">0372</span><span class="p">,</span> <span class="mo">0255</span><span class="p">,</span> <span class="mo">0037</span><span class="p">,</span> <span class="mo">0026</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0136</span><span class="p">,</span> <span class="mo">0072</span><span class="p">,</span> <span class="mo">0312</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0250</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0304</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span>
+<a name="line-113"></a> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0012</span><span class="p">,</span> <span class="mo">0225</span><span class="p">,</span> <span class="mo">0307</span><span class="p">,</span> <span class="mo">0270</span><span class="p">,</span> <span class="mo">0354</span><span class="p">,</span> <span class="mo">0237</span><span class="p">,</span> <span class="mo">0067</span><span class="p">,</span> <span class="mo">0251</span><span class="p">,</span> <span class="mo">0112</span><span class="p">,</span> <span class="mo">0357</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0116</span><span class="p">,</span> <span class="mo">0134</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0215</span><span class="p">,</span>
+<a name="line-114"></a> <span class="mo">0023</span><span class="p">,</span> <span class="mo">0105</span><span class="p">,</span> <span class="mo">0032</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0257</span><span class="p">,</span> <span class="mo">0025</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0227</span><span class="p">,</span> <span class="mo">0156</span><span class="p">,</span> <span class="mo">0275</span><span class="p">,</span> <span class="mo">0315</span><span class="p">,</span> <span class="mo">0125</span><span class="p">,</span> <span class="mo">0212</span><span class="p">,</span> <span class="mo">0055</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span>
+<a name="line-115"></a> <span class="mo">0070</span><span class="p">,</span> <span class="mo">0260</span><span class="p">,</span> <span class="mo">0071</span><span class="p">,</span> <span class="mo">0122</span><span class="p">,</span> <span class="mo">0054</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0266</span><span class="p">,</span> <span class="mo">0273</span><span class="p">,</span> <span class="mo">0351</span><span class="p">,</span> <span class="mo">0375</span><span class="p">,</span> <span class="mo">0216</span><span class="p">,</span> <span class="mo">0246</span><span class="p">,</span> <span class="mo">0205</span><span class="p">,</span> <span class="mo">0127</span><span class="p">,</span> <span class="mo">0143</span><span class="p">,</span> <span class="mo">0066</span><span class="p">,</span>
+<a name="line-116"></a> <span class="mo">0161</span><span class="p">,</span> <span class="mo">0331</span><span class="p">,</span> <span class="mo">0235</span><span class="p">,</span> <span class="mo">0132</span><span class="p">,</span> <span class="mo">0217</span><span class="p">,</span> <span class="mo">0340</span><span class="p">,</span> <span class="mo">0322</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0367</span><span class="p">,</span> <span class="mo">0363</span><span class="p">,</span> <span class="mo">0053</span><span class="p">,</span> <span class="mo">0033</span><span class="p">,</span> <span class="mo">0047</span><span class="p">,</span> <span class="mo">0370</span><span class="p">,</span> <span class="mo">0213</span><span class="p">,</span> <span class="mo">0101</span><span class="p">,</span>
+<a name="line-117"></a> <span class="mo">0135</span><span class="p">,</span> <span class="mo">0174</span><span class="p">,</span> <span class="mo">0244</span><span class="p">,</span> <span class="mo">0152</span><span class="p">,</span> <span class="mo">0353</span><span class="p">,</span> <span class="mo">0300</span><span class="p">,</span> <span class="mo">0347</span><span class="p">,</span> <span class="mo">0207</span><span class="p">,</span> <span class="mo">0306</span><span class="p">,</span> <span class="mo">0377</span><span class="p">,</span> <span class="mo">0003</span><span class="p">,</span> <span class="mo">0111</span><span class="p">,</span> <span class="mo">0326</span><span class="p">,</span> <span class="mo">0104</span><span class="p">,</span> <span class="mo">0031</span><span class="p">,</span> <span class="mo">0000</span><span class="p">,</span>
+<a name="line-118"></a> <span class="mo">0050</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0165</span><span class="p">,</span> <span class="mo">0141</span><span class="p">,</span> <span class="mo">0171</span><span class="p">,</span> <span class="mo">0051</span>
+<a name="line-119"></a><span class="p">}</span> <span class="p">};</span>
+<a name="line-120"></a><span class="cp">#else </span><span class="cm">/* _MSC_VER */</span><span class="cp"></span>
+<a name="line-121"></a><span class="hll"><span class="k">static</span> <span class="k">const</span> <span class="n">SECTION</span> <span class="k">union</span> <span class="p">{</span> <span class="k">const</span> <span class="n">guint8</span> <span class="n">data</span><span class="p">[</span><span class="mi">1719</span><span class="p">];</span> <span class="k">const</span> <span class="kt">double</span> <span class="n">alignment</span><span class="p">;</span> <span class="kt">void</span> <span class="o">*</span> <span class="k">const</span> <span class="n">ptr</span><span class="p">;}</span> <span class="n">sendto_resource_data</span> <span class="o">=</span> <span class="p">{</span><span class='error2'>&lt;--- union member 'Anonymous0::alignment' is never used.</span><span class='error2'>&lt;--- union member 'Anonymous0::ptr' is never used.</span>
+</span><a name="line-122"></a> <span class="s">&quot;</span><span class="se">\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000</span><span class="s">&quot;</span>
+<a name="line-123"></a> <span class="s">&quot;</span><span class="se">\030\000\000\000\344\000\000\000\000\000\000\050\007\000\000\000</span><span class="s">&quot;</span>
+<a name="line-124"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\000\000\000\000\001\000\000\000\003\000\000\000</span><span class="s">&quot;</span>
+<a name="line-125"></a> <span class="s">&quot;</span><span class="se">\004\000\000\000\007\000\000\000\007\000\000\000\113\120\220\013</span><span class="s">&quot;</span>
+<a name="line-126"></a> <span class="s">&quot;</span><span class="se">\001\000\000\000\344\000\000\000\004\000\114\000\350\000\000\000</span><span class="s">&quot;</span>
+<a name="line-127"></a> <span class="s">&quot;</span><span class="se">\354\000\000\000\324\265\002\000\377\377\377\377\354\000\000\000</span><span class="s">&quot;</span>
+<a name="line-128"></a> <span class="s">&quot;</span><span class="se">\001\000\114\000\360\000\000\000\364\000\000\000\072\001\040\252</span><span class="s">&quot;</span>
+<a name="line-129"></a> <span class="s">&quot;</span><span class="se">\003\000\000\000\364\000\000\000\007\000\114\000\374\000\000\000</span><span class="s">&quot;</span>
+<a name="line-130"></a> <span class="s">&quot;</span><span class="se">\000\001\000\000\176\157\252\021\005\000\000\000\000\001\000\000</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;</span><span class="se">\013\000\114\000\014\001\000\000\020\001\000\000\201\321\040\031</span><span class="s">&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\020\001\000\000\005\000\114\000\030\001\000\000</span><span class="s">&quot;</span>
+<a name="line-133"></a> <span class="s">&quot;</span><span class="se">\034\001\000\000\137\144\153\207\004\000\000\000\034\001\000\000</span><span class="s">&quot;</span>
+<a name="line-134"></a> <span class="s">&quot;</span><span class="se">\005\000\114\000\044\001\000\000\050\001\000\000\057\342\160\066</span><span class="s">&quot;</span>
+<a name="line-135"></a> <span class="s">&quot;</span><span class="se">\002\000\000\000\050\001\000\000\016\000\166\000\070\001\000\000</span><span class="s">&quot;</span>
+<a name="line-136"></a> <span class="s">&quot;</span><span class="se">\266\006\000\000\157\162\147\057\004\000\000\000\057\000\000\000</span><span class="s">&quot;</span>
+<a name="line-137"></a> <span class="s">&quot;</span><span class="se">\000\000\000\000\163\145\156\144\164\157\057\000\006\000\000\000</span><span class="s">&quot;</span>
+<a name="line-138"></a> <span class="s">&quot;</span><span class="se">\145\170\164\145\156\163\151\157\156\163\057\000\002\000\000\000</span><span class="s">&quot;</span>
+<a name="line-139"></a> <span class="s">&quot;</span><span class="se">\155\141\164\145\057\000\000\000\005\000\000\000\143\141\152\141</span><span class="s">&quot;</span>
+<a name="line-140"></a> <span class="s">&quot;</span><span class="se">\057\000\000\000\003\000\000\000\143\141\152\141\055\163\145\156</span><span class="s">&quot;</span>
+<a name="line-141"></a> <span class="s">&quot;</span><span class="se">\144\164\157\056\165\151\000\000\301\074\000\000\001\000\000\000</span><span class="s">&quot;</span>
+<a name="line-142"></a> <span class="s">&quot;</span><span class="se">\170\332\355\033\333\162\342\066\364\175\277\302\325\153\007\010</span><span class="s">&quot;</span>
+<a name="line-143"></a> <span class="s">&quot;</span><span class="se">\244\323\146\072\300\316\136\232\114\147\372\266\351\263\106\226</span><span class="s">&quot;</span>
+<a name="line-144"></a> <span class="s">&quot;</span><span class="se">\117\100\033\041\271\222\014\041\137\137\331\046\004\007\371\042</span><span class="s">&quot;</span>
+<a name="line-145"></a> <span class="s">&quot;</span><span class="se">\343\315\102\302\233\021\072\107\072\367\213\244\361\307\207\005</span><span class="s">&quot;</span>
+<a name="line-146"></a> <span class="s">&quot;</span><span class="se">\017\226\240\064\223\142\202\206\375\013\024\200\240\062\142\142</span><span class="s">&quot;</span>
+<a name="line-147"></a> <span class="s">&quot;</span><span class="se">\066\101\377\336\136\367\256\320\307\351\207\361\057\275\136\160</span><span class="s">&quot;</span>
+<a name="line-148"></a> <span class="s">&quot;</span><span class="se">\003\002\024\061\020\005\053\146\346\301\214\223\010\202\313\376</span><span class="s">&quot;</span>
+<a name="line-149"></a> <span class="s">&quot;</span><span class="se">\150\324\037\005\275\236\235\304\204\001\165\107\050\114\077\004</span><span class="s">&quot;</span>
+<a name="line-150"></a> <span class="s">&quot;</span><span class="se">\301\130\301\177\011\123\240\003\316\302\011\232\231\373\137\321</span><span class="s">&quot;</span>
+<a name="line-151"></a> <span class="s">&quot;</span><span class="se">\363\102\051\030\032\144\363\144\370\035\250\011\050\047\132\117</span><span class="s">&quot;</span>
+<a name="line-152"></a> <span class="s">&quot;</span><span class="se">\320\215\271\377\173\101\146\200\002\026\115\020\113\077\207\050</span><span class="s">&quot;</span>
+<a name="line-153"></a> <span class="s">&quot;</span><span class="se">\235\147\147\306\112\306\240\314\072\020\144\001\023\264\144\232</span><span class="s">&quot;</span>
+<a name="line-154"></a> <span class="s">&quot;</span><span class="se">\205\034\320\364\126\045\060\036\074\375\353\236\114\211\300\167</span><span class="s">&quot;</span>
+<a name="line-155"></a> <span class="s">&quot;</span><span class="se">\222\046\032\115\257\011\327\265\363\031\225\002\247\237\150\032</span><span class="s">&quot;</span>
+<a name="line-156"></a> <span class="s">&quot;</span><span class="se">\131\260\005\010\323\323\040\242\042\334\170\220\357\276\031\041</span><span class="s">&quot;</span>
+<a name="line-157"></a> <span class="s">&quot;</span><span class="se">\243\237\114\210\225\101\317\202\123\340\076\124\174\145\204\313</span><span class="s">&quot;</span>
+<a name="line-158"></a> <span class="s">&quot;</span><span class="se">\131\116\006\045\337\011\116\331\140\044\216\362\361\156\166\151</span><span class="s">&quot;</span>
+<a name="line-159"></a> <span class="s">&quot;</span><span class="se">\230\261\014\010\214\042\102\163\142\210\145\307\004\255\301\202</span><span class="s">&quot;</span>
+<a name="line-160"></a> <span class="s">&quot;</span><span class="se">\177\263\253\005\267\262\337\357\167\043\062\307\332\353\030\360</span><span class="s">&quot;</span>
+<a name="line-161"></a> <span class="s">&quot;</span><span class="se">\334\052\257\205\313\150\332\003\240\163\306\243\374\073\005\347</span><span class="s">&quot;</span>
+<a name="line-162"></a> <span class="s">&quot;</span><span class="se">\126\305\347\222\107\240\006\233\011\203\235\031\371\354\040\063</span><span class="s">&quot;</span>
+<a name="line-163"></a> <span class="s">&quot;</span><span class="se">\006\101\170\057\373\151\205\034\312\007\264\305\261\307\345\317</span><span class="s">&quot;</span>
+<a name="line-164"></a> <span class="s">&quot;</span><span class="se">\073\377\372\263\323\005\263\040\152\306\004\346\160\147\011\033</span><span class="s">&quot;</span>
+<a name="line-165"></a> <span class="s">&quot;</span><span class="se">\216\074\100\024\233\315\175\141\214\214\075\041\102\151\214\134</span><span class="s">&quot;</span>
+<a name="line-166"></a> <span class="s">&quot;</span><span class="se">\064\005\222\212\131\171\022\143\275\007\232\132\067\142\030\045</span><span class="s">&quot;</span>
+<a name="line-167"></a> <span class="s">&quot;</span><span class="se">\274\011\240\216\011\265\316\254\164\035\267\264\010\115\127\302</span><span class="s">&quot;</span>
+<a name="line-168"></a> <span class="s">&quot;</span><span class="se">\104\001\331\021\213\123\160\211\045\103\024\305\327\126\204\056</span><span class="s">&quot;</span>
+<a name="line-169"></a> <span class="s">&quot;</span><span class="se">\070\116\326\062\061\130\233\165\352\041\034\352\134\244\244\070</span><span class="s">&quot;</span>
+<a name="line-170"></a> <span class="s">&quot;</span><span class="se">\126\276\341\047\173\116\275\001\016\363\241\227\260\256\315\204</span><span class="s">&quot;</span>
+<a name="line-171"></a> <span class="s">&quot;</span><span class="se">\300\235\146\212\277\070\034\113\065\262\112\267\327\220\225\276</span><span class="s">&quot;</span>
+<a name="line-172"></a> <span class="s">&quot;</span><span class="se">\240\012\050\260\045\150\034\301\035\111\270\361\307\220\171\162</span><span class="s">&quot;</span>
+<a name="line-173"></a> <span class="s">&quot;</span><span class="se">\064\315\035\272\017\140\242\001\047\302\072\015\316\104\013\242</span><span class="s">&quot;</span>
+<a name="line-174"></a> <span class="s">&quot;</span><span class="se">\011\137\221\265\306\172\056\127\170\263\207\152\024\273\136\275</span><span class="s">&quot;</span>
+<a name="line-175"></a> <span class="s">&quot;</span><span class="se">\210\230\320\173\153\021\365\113\302\103\114\104\344\277\325\073</span><span class="s">&quot;</span>
+<a name="line-176"></a> <span class="s">&quot;</span><span class="se">\306\271\077\124\054\065\313\315\373\242\212\050\347\356\013\016</span><span class="s">&quot;</span>
+<a name="line-177"></a> <span class="s">&quot;</span><span class="se">\370\020\203\110\343\105\027\346\360\255\302\120\337\246\055\014</span><span class="s">&quot;</span>
+<a name="line-178"></a> <span class="s">&quot;</span><span class="se">\317\312\354\124\346\141\027\312\354\042\337\115\172\031\331\136</span><span class="s">&quot;</span>
+<a name="line-179"></a> <span class="s">&quot;</span><span class="se">\061\047\247\331\013\044\046\121\224\205\331\253\346\020\364\036</span><span class="s">&quot;</span>
+<a name="line-180"></a> <span class="s">&quot;</span><span class="se">\247\271\127\165\124\363\365\022\016\246\356\061\164\337\063\324</span><span class="s">&quot;</span>
+<a name="line-181"></a> <span class="s">&quot;</span><span class="se">\045\144\255\155\266\253\064\240\161\376\323\042\007\362\161\226</span><span class="s">&quot;</span>
+<a name="line-182"></a> <span class="s">&quot;</span><span class="se">\327\052\113\260\137\305\241\125\062\250\324\037\343\007\302\331</span><span class="s">&quot;</span>
+<a name="line-183"></a> <span class="s">&quot;</span><span class="se">\254\072\214\070\130\064\047\221\165\106\271\076\012\051\252\327</span><span class="s">&quot;</span>
+<a name="line-184"></a> <span class="s">&quot;</span><span class="se">\165\062\313\315\260\117\351\146\322\132\004\271\346\037\300\270</span><span class="s">&quot;</span>
+<a name="line-185"></a> <span class="s">&quot;</span><span class="se">\103\231\347\144\240\055\026\360\326\224\207\243\132\370\122\106</span><span class="s">&quot;</span>
+<a name="line-186"></a> <span class="s">&quot;</span><span class="se">\270\231\161\243\130\204\312\246\037\310\213\056\370\121\127\340</span><span class="s">&quot;</span>
+<a name="line-187"></a> <span class="s">&quot;</span><span class="se">\134\265\101\240\254\136\155\055\260\025\006\052\171\262\020\276</span><span class="s">&quot;</span>
+<a name="line-188"></a> <span class="s">&quot;</span><span class="se">\110\052\145\343\226\317\027\271\010\145\352\371\262\144\110\306</span><span class="s">&quot;</span>
+<a name="line-189"></a> <span class="s">&quot;</span><span class="se">\251\273\321\230\246\243\341\236\077\354\134\172\135\111\320\205</span><span class="s">&quot;</span>
+<a name="line-190"></a> <span class="s">&quot;</span><span class="se">\147\336\064\376\327\347\034\315\362\217\132\063\043\306\020\072</span><span class="s">&quot;</span>
+<a name="line-191"></a> <span class="s">&quot;</span><span class="se">\257\114\020\252\261\130\215\334\042\271\150\112\122\355\176\235</span><span class="s">&quot;</span>
+<a name="line-192"></a> <span class="s">&quot;</span><span class="se">\251\364\241\172\365\211\332\332\360\237\074\133\336\246\331\106</span><span class="s">&quot;</span>
+<a name="line-193"></a> <span class="s">&quot;</span><span class="se">\342\074\201\076\145\265\332\304\032\155\210\062\155\221\124\227</span><span class="s">&quot;</span>
+<a name="line-194"></a> <span class="s">&quot;</span><span class="se">\021\001\046\372\317\266\250\075\213\316\112\077\050\140\041\005</span><span class="s">&quot;</span>
+<a name="line-195"></a> <span class="s">&quot;</span><span class="se">\243\170\305\242\031\330\160\366\322\075\034\225\125\135\274\057</span><span class="s">&quot;</span>
+<a name="line-196"></a> <span class="s">&quot;</span><span class="se">\253\072\233\120\245\011\031\054\137\337\204\116\111\323\207\307</span><span class="s">&quot;</span>
+<a name="line-197"></a> <span class="s">&quot;</span><span class="se">\255\351\333\224\144\156\375\214\165\070\266\022\242\106\157\074</span><span class="s">&quot;</span>
+<a name="line-198"></a> <span class="s">&quot;</span><span class="se">\221\076\145\355\367\252\353\374\131\131\162\140\321\132\170\247</span><span class="s">&quot;</span>
+<a name="line-199"></a> <span class="s">&quot;</span><span class="se">\225\025\275\232\126\127\063\245\002\270\034\260\024\150\163\142</span><span class="s">&quot;</span>
+<a name="line-200"></a> <span class="s">&quot;</span><span class="se">\221\126\252\117\176\257\131\045\132\025\051\216\253\012\055\165</span><span class="s">&quot;</span>
+<a name="line-201"></a> <span class="s">&quot;</span><span class="se">\346\137\101\033\046\062\153\251\105\152\225\100\261\060\061\240</span><span class="s">&quot;</span>
+<a name="line-202"></a> <span class="s">&quot;</span><span class="se">\113\245\266\235\262\131\170\005\331\311\127\260\044\074\261\077</span><span class="s">&quot;</span>
+<a name="line-203"></a> <span class="s">&quot;</span><span class="se">\103\153\062\150\120\046\323\152\374\336\202\355\256\303\351\335</span><span class="s">&quot;</span>
+<a name="line-204"></a> <span class="s">&quot;</span><span class="se">\066\071\261\176\375\271\005\165\156\101\265\157\101\175\256\354</span><span class="s">&quot;</span>
+<a name="line-205"></a> <span class="s">&quot;</span><span class="se">\143\274\315\016\124\353\044\243\264\221\374\343\072\120\163\240</span><span class="s">&quot;</span>
+<a name="line-206"></a> <span class="s">&quot;</span><span class="se">\205\023\271\354\230\200\246\243\245\307\162\207\324\326\051\172</span><span class="s">&quot;</span>
+<a name="line-207"></a> <span class="s">&quot;</span><span class="se">\110\317\377\133\327\007\135\247\223\207\240\331\077\322\373\371</span><span class="s">&quot;</span>
+<a name="line-208"></a> <span class="s">&quot;</span><span class="se">\245\131\207\055\210\110\221\025\146\042\262\352\153\244\072\216</span><span class="s">&quot;</span>
+<a name="line-209"></a> <span class="s">&quot;</span><span class="se">\132\254\161\324\075\074\002\037\034\215\217\245\224\073\341\172</span><span class="s">&quot;</span>
+<a name="line-210"></a> <span class="s">&quot;</span><span class="se">\315\317\003\172\024\151\173\214\372\113\030\265\336\361\201\220</span><span class="s">&quot;</span>
+<a name="line-211"></a> <span class="s">&quot;</span><span class="se">\375\256\303\323\021\373\072\364\121\035\165\343\233\132\161\163</span><span class="s">&quot;</span>
+<a name="line-212"></a> <span class="s">&quot;</span><span class="se">\113\356\314\232\273\261\350\116\254\272\241\145\067\254\365\333</span><span class="s">&quot;</span>
+<a name="line-213"></a> <span class="s">&quot;</span><span class="se">\053\357\323\101\322\055\074\230\335\070\336\354\044\351\265\324</span><span class="s">&quot;</span>
+<a name="line-214"></a> <span class="s">&quot;</span><span class="se">\370\140\051\247\327\004\227\200\323\103\315\337\274\360\060\003</span><span class="s">&quot;</span>
+<a name="line-215"></a> <span class="s">&quot;</span><span class="se">\013\135\077\157\063\163\332\377\343\161\074\310\276\232\203\330</span><span class="s">&quot;</span>
+<a name="line-216"></a> <span class="s">&quot;</span><span class="se">\230\335\017\037\107\255\340\146\355\226\173\360\007\173\144\161</span><span class="s">&quot;</span>
+<a name="line-217"></a> <span class="s">&quot;</span><span class="se">\123\230\174\236\076\073\211\066\167\215\176\234\223\170\107\251</span><span class="s">&quot;</span>
+<a name="line-218"></a> <span class="s">&quot;</span><span class="se">\325\271\237\370\306\372\211\066\114\305\012\264\076\367\023\217</span><span class="s">&quot;</span>
+<a name="line-219"></a> <span class="s">&quot;</span><span class="se">\251\237\170\272\127\046\175\156\002\326\322\333\345\115\306\374</span><span class="s">&quot;</span>
+<a name="line-220"></a> <span class="s">&quot;</span><span class="se">\326\205\041\046\321\070\254\275\331\250\101\244\173\133\202\047</span><span class="s">&quot;</span>
+<a name="line-221"></a> <span class="s">&quot;</span><span class="se">\023\032\137\156\154\330\351\335\171\100\265\331\373\346\262\360</span><span class="s">&quot;</span>
+<a name="line-222"></a> <span class="s">&quot;</span><span class="se">\161\366\176\033\267\113\252\136\056\145\057\220\172\240\224\124</span><span class="s">&quot;</span>
+<a name="line-223"></a> <span class="s">&quot;</span><span class="se">\257\161\035\372\255\037\026\354\136\072\312\125\250\054\304\235</span><span class="s">&quot;</span>
+<a name="line-224"></a> <span class="s">&quot;</span><span class="se">\266\012\225\307\270\354\237\067\251\112\357\055\116\134\266\215</span><span class="s">&quot;</span>
+<a name="line-225"></a> <span class="s">&quot;</span><span class="se">\023\105\032\213\257\025\363\227\156\275\315\125\212\055\104\141</span><span class="s">&quot;</span>
+<a name="line-226"></a> <span class="s">&quot;</span><span class="se">\070\260\071\122\054\205\266\273\351\375\216\246\205\127\143\066</span><span class="s">&quot;</span>
+<a name="line-227"></a> <span class="s">&quot;</span><span class="se">\161\331\235\132\217\340\322\152\367\363\053\033\047\370\213\101</span><span class="s">&quot;</span>
+<a name="line-228"></a> <span class="s">&quot;</span><span class="se">\135\174\244\152\353\300\347\207\306\377\003\111\326\104\031\000</span><span class="s">&quot;</span>
+<a name="line-229"></a> <span class="s">&quot;</span><span class="se">\050\165\165\141\171\051</span><span class="s">&quot;</span> <span class="p">};</span>
+<a name="line-230"></a><span class="cp">#endif </span><span class="cm">/* !_MSC_VER */</span><span class="cp"></span>
+<a name="line-231"></a>
+<a name="line-232"></a><span class="k">static</span> <span class="n">GStaticResource</span> <span class="n">static_resource</span> <span class="o">=</span> <span class="p">{</span> <span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">sendto_resource_data</span><span class="p">.</span><span class="n">data</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> <span class="cm">/* nul terminator */</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span> <span class="p">};</span>
+<a name="line-233"></a><span class="k">extern</span> <span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">);</span>
+<a name="line-234"></a><span class="n">GResource</span> <span class="o">*</span><span class="nf">sendto_get_resource</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="k">return</span> <span class="n">g_static_resource_get_resource</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-237"></a><span class="p">}</span>
+<a name="line-238"></a><span class="cm">/*</span>
+<a name="line-239"></a><span class="cm"> If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and</span>
+<a name="line-240"></a><span class="cm"> destructors, in a sane way, including e.g. on library unload. If not you&#39;re on</span>
+<a name="line-241"></a><span class="cm"> your own.</span>
+<a name="line-242"></a>
+<a name="line-243"></a><span class="cm"> Some compilers need #pragma to handle this, which does not work with macros,</span>
+<a name="line-244"></a><span class="cm"> so the way you need to use this is (for constructors):</span>
+<a name="line-245"></a>
+<a name="line-246"></a><span class="cm"> #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-247"></a><span class="cm"> #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)</span>
+<a name="line-248"></a><span class="cm"> #endif</span>
+<a name="line-249"></a><span class="cm"> G_DEFINE_CONSTRUCTOR(my_constructor)</span>
+<a name="line-250"></a><span class="cm"> static void my_constructor(void) {</span>
+<a name="line-251"></a><span class="cm"> ...</span>
+<a name="line-252"></a><span class="cm"> }</span>
+<a name="line-253"></a>
+<a name="line-254"></a><span class="cm">*/</span>
+<a name="line-255"></a>
+<a name="line-256"></a><span class="cp">#ifndef __GTK_DOC_IGNORE__</span>
+<a name="line-257"></a>
+<a name="line-258"></a><span class="cp">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 7)</span>
+<a name="line-259"></a>
+<a name="line-260"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-261"></a>
+<a name="line-262"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);</span>
+<a name="line-263"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);</span>
+<a name="line-264"></a>
+<a name="line-265"></a><span class="cp">#elif defined (_MSC_VER) &amp;&amp; (_MSC_VER &gt;= 1500)</span>
+<a name="line-266"></a><span class="cm">/* Visual studio 2008 and later has _Pragma */</span>
+<a name="line-267"></a>
+<a name="line-268"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-269"></a>
+<a name="line-270"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-271"></a>
+<a name="line-272"></a><span class="cm">/* We do some weird things to avoid the constructors being optimized</span>
+<a name="line-273"></a><span class="cm"> * away on VS2015 if WholeProgramOptimization is enabled. First we</span>
+<a name="line-274"></a><span class="cm"> * make a reference to the array from the wrapper to make sure its</span>
+<a name="line-275"></a><span class="cm"> * references. Then we use a pragma to make sure the wrapper function</span>
+<a name="line-276"></a><span class="cm"> * symbol is always included at the link stage. Also, the symbols</span>
+<a name="line-277"></a><span class="cm"> * need to be extern (but not dllexport), even though they are not</span>
+<a name="line-278"></a><span class="cm"> * really used from another object file.</span>
+<a name="line-279"></a><span class="cm"> */</span>
+<a name="line-280"></a>
+<a name="line-281"></a><span class="cm">/* We need to account for differences between the mangling of symbols</span>
+<a name="line-282"></a><span class="cm"> * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed</span>
+<a name="line-283"></a><span class="cm"> * with an underscore but symbols on x64 are not.</span>
+<a name="line-284"></a><span class="cm"> */</span>
+<a name="line-285"></a><span class="cp">#ifdef _WIN64</span>
+<a name="line-286"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;&quot;</span>
+<a name="line-287"></a><span class="cp">#else</span>
+<a name="line-288"></a><span class="cp">#define G_MSVC_SYMBOL_PREFIX &quot;_&quot;</span>
+<a name="line-289"></a><span class="cp">#endif</span>
+<a name="line-290"></a>
+<a name="line-291"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-292"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)</span>
+<a name="line-293"></a>
+<a name="line-294"></a><span class="cp">#define G_MSVC_CTOR(_func,_sym_prefix) \</span>
+<a name="line-295"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-296"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-297"></a><span class="cp"> int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-298"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_wrapper&quot;)) \</span><span class="cp"></span>
+<a name="line-299"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-300"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _wrapper;</span>
+<a name="line-301"></a>
+<a name="line-302"></a><span class="cp">#define G_MSVC_DTOR(_func,_sym_prefix) \</span>
+<a name="line-303"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-304"></a><span class="cp"> extern int (* _array ## _func)(void); \</span>
+<a name="line-305"></a><span class="cp"> int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \</span>
+<a name="line-306"></a><span class="cp"> __pragma(comment(linker,&quot;/include</span><span class="cpf">:&quot; _sym_prefix # _func &quot;_constructor&quot;)) \</span><span class="cp"></span>
+<a name="line-307"></a><span class="cp"> __pragma(section(&quot;.CRT$XCU&quot;,read)) \</span>
+<a name="line-308"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-309"></a>
+<a name="line-310"></a><span class="cp">#elif defined (_MSC_VER)</span>
+<a name="line-311"></a>
+<a name="line-312"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-313"></a>
+<a name="line-314"></a><span class="cm">/* Pre Visual studio 2008 must use #pragma section */</span>
+<a name="line-315"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-316"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-319"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-320"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-321"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-322"></a><span class="cp"> static int _func ## _wrapper(void) { _func(); return 0; } \</span>
+<a name="line-323"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (*p)(void) = _func ## _wrapper;</span>
+<a name="line-324"></a>
+<a name="line-325"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-326"></a><span class="cp"> section(&quot;.CRT$XCU&quot;,read)</span>
+<a name="line-327"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-328"></a><span class="cp"> static void _func(void); \</span>
+<a name="line-329"></a><span class="cp"> static int _func ## _constructor(void) { atexit (_func); return 0; } \</span>
+<a name="line-330"></a><span class="cp"> __declspec(allocate(&quot;.CRT$XCU&quot;)) static int (* _array ## _func)(void) = _func ## _constructor;</span>
+<a name="line-331"></a>
+<a name="line-332"></a><span class="cp">#elif defined(__SUNPRO_C)</span>
+<a name="line-333"></a>
+<a name="line-334"></a><span class="cm">/* This is not tested, but i believe it should work, based on:</span>
+<a name="line-335"></a><span class="cm"> * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c</span>
+<a name="line-336"></a><span class="cm"> */</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="cp">#define G_HAS_CONSTRUCTORS 1</span>
+<a name="line-339"></a>
+<a name="line-340"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-341"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1</span>
+<a name="line-342"></a>
+<a name="line-343"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-344"></a><span class="cp"> init(_func)</span>
+<a name="line-345"></a><span class="cp">#define G_DEFINE_CONSTRUCTOR(_func) \</span>
+<a name="line-346"></a><span class="cp"> static void _func(void);</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cp">#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \</span>
+<a name="line-349"></a><span class="cp"> fini(_func)</span>
+<a name="line-350"></a><span class="cp">#define G_DEFINE_DESTRUCTOR(_func) \</span>
+<a name="line-351"></a><span class="cp"> static void _func(void);</span>
+<a name="line-352"></a>
+<a name="line-353"></a><span class="cp">#else</span>
+<a name="line-354"></a>
+<a name="line-355"></a><span class="cm">/* constructors not supported for this compiler */</span>
+<a name="line-356"></a>
+<a name="line-357"></a><span class="cp">#endif</span>
+<a name="line-358"></a>
+<a name="line-359"></a><span class="cp">#endif </span><span class="cm">/* __GTK_DOC_IGNORE__ */</span><span class="cp"></span>
+<a name="line-360"></a>
+<a name="line-361"></a><span class="cp">#ifdef G_HAS_CONSTRUCTORS</span>
+<a name="line-362"></a>
+<a name="line-363"></a><span class="cp">#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-364"></a><span class="cp">#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)</span>
+<a name="line-365"></a><span class="cp">#endif</span>
+<a name="line-366"></a><span class="n">G_DEFINE_CONSTRUCTOR</span><span class="p">(</span><span class="n">resource_constructor</span><span class="p">)</span>
+<a name="line-367"></a><span class="cp">#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA</span>
+<a name="line-368"></a><span class="cp">#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)</span>
+<a name="line-369"></a><span class="cp">#endif</span>
+<a name="line-370"></a><span class="n">G_DEFINE_DESTRUCTOR</span><span class="p">(</span><span class="n">resource_destructor</span><span class="p">)</span>
+<a name="line-371"></a>
+<a name="line-372"></a><span class="cp">#else</span>
+<a name="line-373"></a><span class="cp">#warning &quot;Constructor not supported on this compiler, linking in resources will not work&quot;</span>
+<a name="line-374"></a><span class="cp">#endif</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_constructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-377"></a><span class="p">{</span>
+<a name="line-378"></a> <span class="n">g_static_resource_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-379"></a><span class="p">}</span>
+<a name="line-380"></a>
+<a name="line-381"></a><span class="k">static</span> <span class="kt">void</span> <span class="n">resource_destructor</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-382"></a><span class="p">{</span>
+<a name="line-383"></a> <span class="n">g_static_resource_fini</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">static_resource</span><span class="p">);</span>
+<a name="line-384"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/5.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/5.html
new file mode 100644
index 0000000..a153ad5
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/5.html
@@ -0,0 +1,566 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/caja-burn/caja-burn.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-burn.c</p>
+<a href='5.html#line-134'> variableScope 134</a><a href='5.html#line-135'> variableScope 135</a><a href='5.html#line-136'> variableScope 136</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * Copyright (C) 2008 Jader Henrique da Silva</span>
+<a name="line-5"></a><span class="cm"> *</span>
+<a name="line-6"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-7"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-8"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-9"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-10"></a><span class="cm"> *</span>
+<a name="line-11"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-12"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-13"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-14"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-15"></a><span class="cm"> *</span>
+<a name="line-16"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-17"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-18"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-19"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-20"></a><span class="cm"> *</span>
+<a name="line-21"></a><span class="cm"> * Author: Jader Henrique da Silva &lt;[email protected]&gt;</span>
+<a name="line-22"></a><span class="cm"> */</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&quot;nst-common.h&quot;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a>
+<a name="line-30"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-31"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-32"></a> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-33"></a> <span class="n">NUM_COLS</span><span class="p">,</span>
+<a name="line-34"></a><span class="p">};</span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#define COMBOBOX_OPTION_NEW_DVD 0</span>
+<a name="line-37"></a><span class="cp">#define COMBOBOX_OPTION_EXISTING_DVD 1</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GFile</span> <span class="o">*</span><span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">static</span>
+<a name="line-42"></a><span class="n">gboolean</span> <span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-43"></a><span class="p">{</span>
+<a name="line-44"></a> <span class="n">GtkIconTheme</span> <span class="o">*</span><span class="n">it</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">cmd</span><span class="p">;</span>
+<a name="line-46"></a>
+<a name="line-47"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init caja burn plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-48"></a>
+<a name="line-49"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-50"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">it</span> <span class="o">=</span> <span class="n">gtk_icon_theme_get_default</span> <span class="p">();</span>
+<a name="line-53"></a> <span class="n">gtk_icon_theme_append_search_path</span> <span class="p">(</span><span class="n">it</span><span class="p">,</span> <span class="n">DATADIR</span> <span class="s">&quot;/brasero/icons&quot;</span><span class="p">);</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="n">cmd</span> <span class="o">=</span> <span class="n">g_find_program_in_path</span> <span class="p">(</span><span class="s">&quot;brasero&quot;</span><span class="p">);</span>
+<a name="line-56"></a> <span class="k">if</span> <span class="p">(</span><span class="n">cmd</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-57"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-58"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">cmd</span><span class="p">);</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="n">burn</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">(</span><span class="s">&quot;burn:/&quot;</span><span class="p">);</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-63"></a><span class="p">}</span>
+<a name="line-64"></a>
+<a name="line-65"></a><span class="k">static</span>
+<a name="line-66"></a><span class="n">GtkWidget</span><span class="o">*</span> <span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-67"></a><span class="p">{</span>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">;</span>
+<a name="line-69"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-70"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a> <span class="kt">int</span> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">;</span>
+<a name="line-75"></a>
+<a name="line-76"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-77"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-78"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-79"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-80"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-83"></a> <span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-84"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-85"></a> <span class="p">}</span>
+<a name="line-86"></a>
+<a name="line-87"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-90"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-91"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-blank&quot;</span><span class="p">,</span>
+<a name="line-92"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;New CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-93"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-94"></a>
+<a name="line-95"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-96"></a> <span class="n">gtk_list_store_insert_with_values</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-97"></a> <span class="n">INT_MAX</span><span class="p">,</span>
+<a name="line-98"></a> <span class="n">COL_PIXBUF</span><span class="p">,</span> <span class="s">&quot;media-optical-data-new&quot;</span><span class="p">,</span>
+<a name="line-99"></a> <span class="n">COL_LABEL</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Existing CD/DVD&quot;</span><span class="p">),</span>
+<a name="line-100"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">selection</span> <span class="o">=</span> <span class="n">COMBOBOX_OPTION_EXISTING_DVD</span><span class="p">;</span>
+<a name="line-103"></a> <span class="p">}</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-106"></a> <span class="n">widget</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-108"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-109"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-110"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-112"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-113"></a> <span class="s">&quot;icon-name&quot;</span><span class="p">,</span> <span class="n">COL_PIXBUF</span><span class="p">,</span>
+<a name="line-114"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-116"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-117"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-118"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-119"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span>
+<a name="line-120"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-121"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_LABEL</span><span class="p">,</span>
+<a name="line-122"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-123"></a>
+<a name="line-124"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">widget</span><span class="p">),</span> <span class="n">selection</span><span class="p">);</span>
+<a name="line-125"></a>
+<a name="line-126"></a> <span class="k">return</span> <span class="n">widget</span><span class="p">;</span>
+<a name="line-127"></a><span class="p">}</span>
+<a name="line-128"></a>
+<a name="line-129"></a><span class="k">static</span>
+<a name="line-130"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">burntype_widget</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-133"></a><span class="p">{</span>
+<a name="line-134"></a><span class="hll"> <span class="n">GFileEnumerator</span> <span class="o">*</span><span class="n">fenum</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'fenum' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;fenum&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-135"></a><span class="hll"> <span class="n">GFileInfo</span> <span class="o">*</span><span class="n">file_info</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_info' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_info&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-136"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">child</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'child' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;child&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-137"></a>
+<a name="line-138"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_combo_box_get_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">burntype_widget</span><span class="p">))</span> <span class="o">==</span> <span class="n">COMBOBOX_OPTION_NEW_DVD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">fenum</span> <span class="o">=</span> <span class="n">g_file_enumerate_children</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-140"></a> <span class="n">G_FILE_ATTRIBUTE_STANDARD_NAME</span><span class="p">,</span>
+<a name="line-141"></a> <span class="n">G_FILE_QUERY_INFO_NONE</span><span class="p">,</span>
+<a name="line-142"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-143"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-144"></a>
+<a name="line-145"></a> <span class="k">if</span> <span class="p">(</span><span class="n">fenum</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-146"></a> <span class="k">while</span> <span class="p">((</span><span class="n">file_info</span> <span class="o">=</span> <span class="n">g_file_enumerator_next_file</span> <span class="p">(</span><span class="n">fenum</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-147"></a> <span class="n">child</span> <span class="o">=</span> <span class="n">g_file_get_child</span> <span class="p">(</span><span class="n">burn</span><span class="p">,</span>
+<a name="line-148"></a> <span class="n">g_file_info_get_name</span><span class="p">(</span><span class="n">file_info</span><span class="p">));</span>
+<a name="line-149"></a>
+<a name="line-150"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file_info</span><span class="p">);</span>
+<a name="line-151"></a> <span class="n">g_file_delete</span> <span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-152"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">child</span><span class="p">);</span>
+<a name="line-153"></a> <span class="p">}</span>
+<a name="line-154"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">fenum</span><span class="p">);</span>
+<a name="line-155"></a> <span class="p">}</span>
+<a name="line-156"></a> <span class="p">}</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">copy_files_to</span> <span class="p">(</span><span class="n">file_list</span><span class="p">,</span> <span class="n">burn</span><span class="p">);</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">gtk_show_uri_on_window</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="s">&quot;burn:///&quot;</span><span class="p">,</span> <span class="n">GDK_CURRENT_TIME</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-163"></a><span class="p">}</span>
+<a name="line-164"></a>
+<a name="line-165"></a><span class="k">static</span>
+<a name="line-166"></a><span class="n">gboolean</span> <span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">){</span>
+<a name="line-167"></a>
+<a name="line-168"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">burn</span><span class="p">);</span>
+<a name="line-169"></a> <span class="n">burn</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-170"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-171"></a>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span>
+<a name="line-175"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="s">&quot;brasero&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="s">&quot;caja-burn&quot;</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;CD/DVD Creator&quot;</span><span class="p">),</span>
+<a name="line-179"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-180"></a> <span class="n">CAJA_CAPS_SEND_DIRECTORIES</span><span class="p">,</span>
+<a name="line-181"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-182"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-183"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">destroy</span>
+<a name="line-186"></a><span class="p">};</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/6.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/6.html
new file mode 100644
index 0000000..f3ae982
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/6.html
@@ -0,0 +1,1272 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/gajim/gajim.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> gajim.c</p>
+<a href='6.html#line-56'> variableScope 56</a><a href='6.html#line-62'> variableScope 62</a><a href='6.html#line-200'> variableScope 200</a><a href='6.html#line-311'> variableScope 311</a><a href='6.html#line-409'> variableScope 409</a><a href='6.html#line-411'> variableScope 411</a><a href='6.html#line-416'> variableScope 416</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/*</span>
+<a name="line-2"></a><span class="cm"> * gajim.c</span>
+<a name="line-3"></a><span class="cm"> * gajim plugin for caja-sendto</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * Copyright (C) 2006 Dimitur Kirov</span>
+<a name="line-6"></a><span class="cm"> * 2006 Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-7"></a><span class="cm"> *</span>
+<a name="line-8"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-9"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-10"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-11"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-12"></a><span class="cm"> *</span>
+<a name="line-13"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-14"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-15"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-16"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-17"></a><span class="cm"> *</span>
+<a name="line-18"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-19"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-20"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-21"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-22"></a><span class="cm"> *</span>
+<a name="line-23"></a><span class="cm"> */</span>
+<a name="line-24"></a>
+<a name="line-25"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cp">#define OBJ_PATH &quot;/org/gajim/dbus/RemoteObject&quot;</span>
+<a name="line-32"></a><span class="cp">#define INTERFACE &quot;org.gajim.dbus.RemoteInterface&quot;</span>
+<a name="line-33"></a><span class="cp">#define SERVICE &quot;org.gajim.dbus&quot;</span>
+<a name="line-34"></a>
+<a name="line-35"></a><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">COMPLETION_PROPS</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&quot;name&quot;</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">};</span>
+<a name="line-36"></a><span class="cm">/* list of contacts, which are not offline */</span>
+<a name="line-37"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">jid_table</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-38"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">iconset</span><span class="p">;</span>
+<a name="line-39"></a>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-42"></a>
+<a name="line-43"></a><span class="cm">/*</span>
+<a name="line-44"></a><span class="cm"> * contact cb, gets property from contact dict</span>
+<a name="line-45"></a><span class="cm"> * and put online contacts to jid_table</span>
+<a name="line-46"></a><span class="cm"> */</span>
+<a name="line-47"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-48"></a><span class="nf">_foreach_contact</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">contact</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-49"></a><span class="p">{</span>
+<a name="line-50"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span>
+<a name="line-51"></a>
+<a name="line-52"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span>
+<a name="line-53"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_table</span><span class="p">;</span>
+<a name="line-54"></a>
+<a name="line-55"></a> <span class="cm">/* holds contact props of already exisiting jid/nick */</span>
+<a name="line-56"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">existing_contact</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'existing_contact' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;existing_contact&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-57"></a>
+<a name="line-58"></a> <span class="cm">/* name of the contact in completion list</span>
+<a name="line-59"></a><span class="cm"> it may be jid, nick, jid (account), or nick(account) */</span>
+<a name="line-60"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">contact_str</span><span class="p">;</span>
+<a name="line-61"></a>
+<a name="line-62"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'jid' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;jid&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-63"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-64"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contact</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-67"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;Null contact in the list&quot;</span><span class="p">);</span>
+<a name="line-68"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">contact_table</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">contact</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">account</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-74"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-75"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-76"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-77"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-78"></a> <span class="p">}</span>
+<a name="line-79"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-80"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;offline&quot;</span><span class="p">)</span> <span class="o">||</span> <span class="n">g_str_equal</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="s">&quot;error&quot;</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-81"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">contact_table</span><span class="p">);</span>
+<a name="line-82"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-83"></a> <span class="p">}</span>
+<a name="line-84"></a> <span class="cm">/* remove unneeded item with key resource and add account</span>
+<a name="line-85"></a><span class="cm"> to contact properties */</span>
+<a name="line-86"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-87"></a> <span class="n">g_hash_table_remove</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;resource&quot;</span><span class="p">);</span>
+<a name="line-88"></a>
+<a name="line-89"></a> <span class="cm">/* add nick the same way as jid */</span>
+<a name="line-90"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">2</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-91"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="n">COMPLETION_PROPS</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-92"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-93"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - name)&quot;</span><span class="p">);</span>
+<a name="line-94"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-95"></a> <span class="p">}</span>
+<a name="line-96"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">existing_contact</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-99"></a> <span class="cm">/* add existing contact as nick (account) */</span>
+<a name="line-100"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-101"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-102"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">existing_contact</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-104"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-106"></a> <span class="n">existing_contact</span><span class="p">);</span>
+<a name="line-107"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-108"></a>
+<a name="line-109"></a> <span class="cm">/* add current contact as nick (account) */</span>
+<a name="line-110"></a> <span class="n">contact_str</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">jid</span><span class="p">);</span>
+<a name="line-111"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot; (&quot;</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span>
+<a name="line-113"></a> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_table</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">));</span>
+<a name="line-114"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="s">&quot;)&quot;</span><span class="p">);</span>
+<a name="line-115"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">contact_str</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span>
+<a name="line-116"></a> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-117"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">contact_str</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-118"></a> <span class="p">}</span>
+<a name="line-119"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-120"></a> <span class="n">g_hash_table_insert</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span> <span class="n">contact_table</span><span class="p">);</span>
+<a name="line-121"></a> <span class="p">}</span>
+<a name="line-122"></a> <span class="p">}</span>
+<a name="line-123"></a>
+<a name="line-124"></a><span class="p">}</span>
+<a name="line-125"></a>
+<a name="line-126"></a><span class="cm">/*</span>
+<a name="line-127"></a><span class="cm"> * connect to session bus, onsuccess return TRUE</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-130"></a><span class="nf">init_dbus</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-131"></a><span class="p">{</span>
+<a name="line-132"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-133"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-134"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-135"></a>
+<a name="line-136"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-137"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-138"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-139"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-141"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-142"></a> <span class="p">}</span>
+<a name="line-143"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-146"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-147"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-148"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-149"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-150"></a> <span class="p">}</span>
+<a name="line-151"></a>
+<a name="line-152"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-153"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-154"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-155"></a> <span class="p">{</span>
+<a name="line-156"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-157"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-158"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-159"></a> <span class="p">}</span>
+<a name="line-160"></a> <span class="n">g_strfreev</span><span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-161"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-162"></a><span class="p">}</span>
+<a name="line-163"></a>
+<a name="line-164"></a><span class="cm">/*</span>
+<a name="line-165"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-166"></a><span class="cm"> * on queries</span>
+<a name="line-167"></a><span class="cm"> */</span>
+<a name="line-168"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-169"></a><span class="nf">_handle_dbus_exception</span> <span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">empty_list_messages</span><span class="p">)</span>
+<a name="line-170"></a><span class="p">{</span>
+<a name="line-171"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-173"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-174"></a> <span class="p">}</span>
+<a name="line-175"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-176"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-178"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-179"></a> <span class="p">}</span>
+<a name="line-180"></a> <span class="k">else</span> <span class="k">if</span><span class="p">(</span><span class="n">empty_list_messages</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="cm">/* empty list and error goes here */</span>
+<a name="line-182"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Gajim] empty result set: %d %d %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-184"></a> <span class="p">}</span>
+<a name="line-185"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-186"></a><span class="p">}</span>
+<a name="line-187"></a>
+<a name="line-188"></a><span class="cm">/*</span>
+<a name="line-189"></a><span class="cm"> * query object, about the contact list for each account</span>
+<a name="line-190"></a><span class="cm"> * and fill all available contacts in the contacts table</span>
+<a name="line-191"></a><span class="cm"> */</span>
+<a name="line-192"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-193"></a><span class="nf">_get_contacts</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-194"></a><span class="p">{</span>
+<a name="line-195"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-196"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-197"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">prefs_map</span><span class="p">;</span>
+<a name="line-198"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-199"></a> <span class="n">gchar</span> <span class="o">**</span><span class="n">account_iter</span><span class="p">;</span>
+<a name="line-200"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'account' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;account&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-205"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to connect to session bus&quot;</span><span class="p">);</span>
+<a name="line-206"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-207"></a> <span class="p">}</span>
+<a name="line-208"></a> <span class="cm">/* get gajim prefs and lookup for iconset */</span>
+<a name="line-209"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;prefs_list&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-210"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">),</span>
+<a name="line-211"></a> <span class="o">&amp;</span><span class="n">prefs_map</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-212"></a> <span class="p">{</span>
+<a name="line-213"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-214"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-215"></a> <span class="p">}</span>
+<a name="line-216"></a> <span class="n">gpointer</span> <span class="n">iconset_ptr</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">,</span> <span class="s">&quot;iconset&quot;</span><span class="p">);</span>
+<a name="line-217"></a> <span class="k">if</span> <span class="p">(</span><span class="n">iconset_ptr</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-218"></a> <span class="n">iconset</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">iconset_ptr</span><span class="p">);</span>
+<a name="line-219"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-220"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] unable to get prefs value for iconset&quot;</span><span class="p">);</span>
+<a name="line-221"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-222"></a> <span class="p">}</span>
+<a name="line-223"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">prefs_map</span><span class="p">);</span>
+<a name="line-224"></a> <span class="cm">/* END get gajim prefs */</span>
+<a name="line-225"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-226"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_accounts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-227"></a> <span class="n">G_TYPE_STRV</span><span class="p">,</span>
+<a name="line-228"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-229"></a> <span class="p">{</span>
+<a name="line-230"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-231"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-232"></a> <span class="p">}</span>
+<a name="line-233"></a> <span class="k">for</span><span class="p">(</span><span class="n">account_iter</span> <span class="o">=</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">*</span><span class="n">account_iter</span> <span class="p">;</span> <span class="n">account_iter</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-234"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_strdup</span><span class="p">(</span><span class="o">*</span><span class="n">account_iter</span><span class="p">);</span>
+<a name="line-235"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-236"></a> <span class="cm">/* query gajim remote object and put results in &#39;contacts_list&#39; */</span>
+<a name="line-237"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;list_contacts&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-238"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span> <span class="cm">/* call arguments */</span>
+<a name="line-239"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="cm">/* delimiter */</span>
+<a name="line-240"></a> <span class="cm">/* return value is collection of maps */</span>
+<a name="line-241"></a> <span class="n">dbus_g_type_get_collection</span> <span class="p">(</span><span class="s">&quot;GSList&quot;</span><span class="p">,</span>
+<a name="line-242"></a> <span class="n">dbus_g_type_get_map</span> <span class="p">(</span><span class="s">&quot;GHashTable&quot;</span><span class="p">,</span>
+<a name="line-243"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">G_TYPE_VALUE</span><span class="p">)),</span>
+<a name="line-244"></a> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span>
+<a name="line-245"></a> <span class="p">{</span>
+<a name="line-246"></a> <span class="n">_handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-247"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-248"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-249"></a> <span class="p">}</span>
+<a name="line-250"></a> <span class="n">g_slist_foreach</span> <span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">_foreach_contact</span><span class="p">,</span> <span class="n">account</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">g_slist_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">);</span>
+<a name="line-252"></a> <span class="p">}</span>
+<a name="line-253"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">accounts</span><span class="p">);</span>
+<a name="line-254"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-255"></a><span class="p">}</span>
+<a name="line-256"></a>
+<a name="line-257"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-258"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-259"></a><span class="p">{</span>
+<a name="line-260"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init gajim plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-261"></a>
+<a name="line-262"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-263"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-264"></a>
+<a name="line-265"></a> <span class="cm">/* connect to gajim dbus service */</span>
+<a name="line-266"></a> <span class="n">jid_table</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-267"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">init_dbus</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-268"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-269"></a> <span class="p">}</span>
+<a name="line-270"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-271"></a><span class="p">}</span>
+<a name="line-272"></a>
+<a name="line-273"></a>
+<a name="line-274"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-275"></a><span class="nf">_set_pixbuf_from_status</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">,</span> <span class="n">GdkPixbuf</span> <span class="o">**</span><span class="n">pixbuf</span><span class="p">)</span>
+<a name="line-276"></a><span class="p">{</span>
+<a name="line-277"></a> <span class="n">GString</span> <span class="o">*</span><span class="n">pixbuf_path</span><span class="p">;</span>
+<a name="line-278"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-279"></a>
+<a name="line-280"></a> <span class="n">pixbuf_path</span> <span class="o">=</span> <span class="n">g_string_new</span><span class="p">(</span><span class="n">GAJIM_SHARE_DIR</span><span class="p">);</span>
+<a name="line-281"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-282"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;data&quot;</span><span class="p">);</span>
+<a name="line-283"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-284"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;iconsets&quot;</span><span class="p">);</span>
+<a name="line-285"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-286"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">iconset</span><span class="p">);</span>
+<a name="line-287"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-288"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;16x16&quot;</span><span class="p">);</span>
+<a name="line-289"></a> <span class="n">g_string_append_c</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="sc">&#39;/&#39;</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">show</span><span class="p">);</span>
+<a name="line-291"></a> <span class="n">g_string_append</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="s">&quot;.png&quot;</span><span class="p">);</span>
+<a name="line-292"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_EXISTS</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+<a name="line-293"></a> <span class="n">g_file_test</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="n">G_FILE_TEST_IS_REGULAR</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-294"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-295"></a> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="o">-&gt;</span><span class="n">str</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-296"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-297"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-298"></a> <span class="p">}</span>
+<a name="line-299"></a> <span class="p">}</span>
+<a name="line-300"></a> <span class="n">g_string_free</span><span class="p">(</span><span class="n">pixbuf_path</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-301"></a><span class="p">}</span>
+<a name="line-302"></a>
+<a name="line-303"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-304"></a><span class="nf">_add_contact_to_model</span><span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-305"></a><span class="p">{</span>
+<a name="line-306"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">;</span>
+<a name="line-307"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-308"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-309"></a> <span class="n">GValue</span> <span class="o">*</span><span class="n">val</span><span class="p">;</span>
+<a name="line-310"></a> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span>
+<a name="line-311"></a><span class="hll"> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">show</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'show' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;show&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-312"></a>
+<a name="line-313"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="p">(</span><span class="n">GHashTable</span> <span class="o">*</span><span class="p">)</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-314"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-315"></a> <span class="n">val</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;show&quot;</span><span class="p">);</span>
+<a name="line-316"></a> <span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">val</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-317"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;String expected (contact - show)&quot;</span><span class="p">);</span>
+<a name="line-318"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-319"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-320"></a> <span class="n">show</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">val</span><span class="p">);</span>
+<a name="line-321"></a> <span class="n">_set_pixbuf_from_status</span><span class="p">(</span><span class="n">show</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pixbuf</span><span class="p">);</span>
+<a name="line-322"></a> <span class="p">}</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">store</span> <span class="o">=</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="p">)</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-325"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-326"></a> <span class="n">gtk_list_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-327"></a> <span class="n">gtk_list_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-329"></a><span class="p">}</span>
+<a name="line-330"></a>
+<a name="line-331"></a><span class="cm">/*</span>
+<a name="line-332"></a><span class="cm"> * put gajim contacts to jid_list</span>
+<a name="line-333"></a><span class="cm"> * filtering only these which are connected</span>
+<a name="line-334"></a><span class="cm"> */</span>
+<a name="line-335"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-336"></a><span class="nf">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">)</span>
+<a name="line-337"></a><span class="p">{</span>
+<a name="line-338"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">_get_contacts</span><span class="p">())</span> <span class="p">{</span>
+<a name="line-339"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-340"></a> <span class="p">}</span>
+<a name="line-341"></a> <span class="k">if</span><span class="p">(</span><span class="n">g_hash_table_size</span><span class="p">(</span><span class="n">jid_table</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-342"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-343"></a> <span class="p">}</span>
+<a name="line-344"></a> <span class="n">g_hash_table_foreach</span><span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">_add_contact_to_model</span><span class="p">,</span> <span class="n">store</span><span class="p">);</span>
+<a name="line-345"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-346"></a><span class="p">}</span>
+<a name="line-347"></a>
+<a name="line-348"></a><span class="cm">/*</span>
+<a name="line-349"></a><span class="cm"> * fill completion model for the entry, using list of</span>
+<a name="line-350"></a><span class="cm"> * available gajim contacts</span>
+<a name="line-351"></a><span class="cm"> */</span>
+<a name="line-352"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-353"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-354"></a><span class="p">{</span>
+<a name="line-355"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry</span><span class="p">;</span>
+<a name="line-356"></a> <span class="n">GtkEntryCompletion</span> <span class="o">*</span><span class="n">completion</span><span class="p">;</span>
+<a name="line-357"></a> <span class="n">GtkListStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-358"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-359"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">completion_model</span><span class="p">;</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">entry</span> <span class="o">=</span> <span class="n">gtk_entry_new</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="n">completion</span> <span class="o">=</span> <span class="n">gtk_entry_completion_new</span> <span class="p">();</span>
+<a name="line-363"></a>
+<a name="line-364"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-365"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span>
+<a name="line-366"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-367"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-368"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">completion</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-369"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-370"></a>
+<a name="line-371"></a>
+<a name="line-372"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_list_store_new</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-373"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">add_gajim_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-374"></a> <span class="n">gtk_widget_set_sensitive</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-375"></a> <span class="p">}</span>
+<a name="line-376"></a> <span class="n">completion_model</span> <span class="o">=</span> <span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">);</span>
+<a name="line-377"></a> <span class="n">gtk_entry_completion_set_model</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="n">completion_model</span><span class="p">);</span>
+<a name="line-378"></a> <span class="n">gtk_entry_set_completion</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">entry</span><span class="p">),</span> <span class="n">completion</span><span class="p">);</span>
+<a name="line-379"></a> <span class="n">gtk_entry_completion_set_text_column</span> <span class="p">(</span><span class="n">completion</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-380"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion_model</span><span class="p">);</span>
+<a name="line-381"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">completion</span><span class="p">);</span>
+<a name="line-382"></a> <span class="k">return</span> <span class="n">entry</span><span class="p">;</span>
+<a name="line-383"></a><span class="p">}</span>
+<a name="line-384"></a>
+<a name="line-385"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-386"></a><span class="nf">show_error</span> <span class="p">(</span><span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">title</span><span class="p">,</span> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-387"></a><span class="p">{</span>
+<a name="line-388"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new_with_markup</span><span class="p">(</span><span class="nb">NULL</span><span class="p">,</span>
+<a name="line-391"></a> <span class="n">GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="p">,</span>
+<a name="line-392"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-393"></a> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">msg</span> <span class="o">=</span> <span class="n">g_markup_printf_escaped</span><span class="p">(</span><span class="s">&quot;&lt;b&gt;%s&lt;/b&gt;</span><span class="se">\n\n</span><span class="s">%s&quot;</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">gtk_message_dialog_set_markup</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">msg</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">msg</span><span class="p">);</span>
+<a name="line-398"></a>
+<a name="line-399"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-400"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-401"></a><span class="p">}</span>
+<a name="line-402"></a>
+<a name="line-403"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-404"></a><span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span>
+<a name="line-405"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-406"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-409"></a><span class="hll"> <span class="n">GValue</span> <span class="o">*</span><span class="n">value</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'value' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;value&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-410"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-411"></a><span class="hll"> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_props</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'contact_props' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;contact_props&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-412"></a>
+<a name="line-413"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">send_to</span><span class="p">;</span>
+<a name="line-414"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">jid</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">account</span><span class="p">;</span>
+<a name="line-416"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-417"></a>
+<a name="line-418"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Unable to send file&quot;</span><span class="p">),</span>
+<a name="line-420"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There is no connection to gajim remote service.&quot;</span><span class="p">));</span>
+<a name="line-421"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-422"></a> <span class="p">}</span>
+<a name="line-423"></a> <span class="n">send_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">));</span>
+<a name="line-424"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] sending to: %s&quot;</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-425"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">send_to</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">){</span>
+<a name="line-426"></a> <span class="n">contact_props</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">jid_table</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-427"></a> <span class="k">if</span><span class="p">(</span><span class="n">contact_props</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-428"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">send_to</span><span class="p">;</span>
+<a name="line-429"></a> <span class="n">account</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-430"></a> <span class="p">}</span>
+<a name="line-431"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-432"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;jid&quot;</span><span class="p">);</span>
+<a name="line-433"></a> <span class="k">if</span><span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">!</span><span class="n">G_VALUE_HOLDS_STRING</span><span class="p">(</span><span class="n">value</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-434"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] string expected (contact - jid)&quot;</span><span class="p">);</span>
+<a name="line-435"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-436"></a> <span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a> <span class="n">jid</span> <span class="o">=</span> <span class="n">g_value_dup_string</span><span class="p">((</span><span class="n">GValue</span> <span class="o">*</span><span class="p">)</span><span class="n">value</span><span class="p">);</span>
+<a name="line-439"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span><span class="p">(</span><span class="n">contact_props</span><span class="p">,</span> <span class="s">&quot;account&quot;</span><span class="p">);</span>
+<a name="line-440"></a> <span class="p">}</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-443"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] missing recipient&quot;</span><span class="p">);</span>
+<a name="line-444"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span>
+<a name="line-445"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Recipient is missing.&quot;</span><span class="p">));</span>
+<a name="line-446"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a>
+<a name="line-449"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-450"></a> <span class="k">for</span><span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-451"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span> <span class="o">=</span> <span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">;</span>
+<a name="line-452"></a>
+<a name="line-453"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-454"></a> <span class="n">error</span><span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-455"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_filename_from_uri</span><span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-456"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-457"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;%d Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-458"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span><span class="p">,</span> <span class="n">uri</span><span class="p">);</span>
+<a name="line-459"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-460"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-461"></a> <span class="p">}</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">g_debug</span><span class="p">(</span><span class="s">&quot;[Gajim] file: %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">);</span>
+<a name="line-464"></a> <span class="k">if</span><span class="p">(</span><span class="n">account</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-465"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-467"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-470"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-471"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;send_file&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-473"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span>
+<a name="line-474"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">jid</span><span class="p">,</span>
+<a name="line-475"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-476"></a> <span class="n">G_TYPE_INVALID</span><span class="p">);</span>
+<a name="line-477"></a> <span class="p">}</span>
+<a name="line-478"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-479"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-480"></a> <span class="p">{</span>
+<a name="line-481"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">!=</span> <span class="n">DBUS_GERROR</span> <span class="o">||</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">!=</span> <span class="n">DBUS_GERROR_INVALID_ARGS</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-482"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Gajim] sending file %s to %s failed:&quot;</span><span class="p">,</span> <span class="n">uri</span><span class="p">,</span> <span class="n">send_to</span><span class="p">);</span>
+<a name="line-483"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-484"></a> <span class="n">show_error</span><span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Sending file failed&quot;</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Unknown recipient.&quot;</span><span class="p">));</span>
+<a name="line-485"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-486"></a> <span class="p">}</span>
+<a name="line-487"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-488"></a> <span class="p">}</span>
+<a name="line-489"></a> <span class="p">}</span>
+<a name="line-490"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-491"></a><span class="p">}</span>
+<a name="line-492"></a>
+<a name="line-493"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-494"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-495"></a><span class="p">{</span>
+<a name="line-496"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-498"></a> <span class="p">}</span>
+<a name="line-499"></a> <span class="n">g_hash_table_destroy</span><span class="p">(</span><span class="n">jid_table</span><span class="p">);</span>
+<a name="line-500"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-501"></a><span class="p">}</span>
+<a name="line-502"></a>
+<a name="line-503"></a><span class="k">static</span>
+<a name="line-504"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-505"></a> <span class="s">&quot;im-jabber&quot;</span><span class="p">,</span>
+<a name="line-506"></a> <span class="s">&quot;gajim&quot;</span><span class="p">,</span>
+<a name="line-507"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Gajim)&quot;</span><span class="p">),</span>
+<a name="line-508"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-509"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-510"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-511"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-512"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-513"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-514"></a> <span class="n">destroy</span>
+<a name="line-515"></a><span class="p">};</span>
+<a name="line-516"></a>
+<a name="line-517"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/7.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/7.html
new file mode 100644
index 0000000..f117eb7
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/7.html
@@ -0,0 +1,1122 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: sendto/plugins/pidgin/pidgin.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> pidgin.c</p>
+<a href='7.html#line-149'> shadowVariable 149</a><a href='7.html#line-150'> shadowVariable 150</a><a href='7.html#line-233'> shadowVariable 233</a><a href='7.html#line-242'> shadowVariable 242</a><a href='7.html#line-376'> variableScope 376</a><a href='7.html#line-377'> variableScope 377</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */</span>
+<a name="line-2"></a>
+<a name="line-3"></a><span class="cm">/*</span>
+<a name="line-4"></a><span class="cm"> * pidgin.c</span>
+<a name="line-5"></a><span class="cm"> * pidgin plugin for caja-sendto</span>
+<a name="line-6"></a><span class="cm"> *</span>
+<a name="line-7"></a><span class="cm"> * Copyright (C) 2004 Roberto Majadas</span>
+<a name="line-8"></a><span class="cm"> * Copyright (C) 2009 Pascal Terjan</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is free software; you can redistribute it and/or</span>
+<a name="line-11"></a><span class="cm"> * modify it under the terms of the GNU General Public License as</span>
+<a name="line-12"></a><span class="cm"> * published by the Free Software Foundation; either version 2 of the</span>
+<a name="line-13"></a><span class="cm"> * License, or (at your option) any later version.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-16"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-17"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<a name="line-18"></a><span class="cm"> * General Public License for more av.</span>
+<a name="line-19"></a><span class="cm"> *</span>
+<a name="line-20"></a><span class="cm"> * You should have received a copy of the GNU General Public</span>
+<a name="line-21"></a><span class="cm"> * License along with this program; if not, write to the</span>
+<a name="line-22"></a><span class="cm"> * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
+<a name="line-23"></a><span class="cm"> * Boston, MA 02110-1301 USA.</span>
+<a name="line-24"></a><span class="cm"> *</span>
+<a name="line-25"></a><span class="cm"> * Author: Roberto Majadas &lt;[email protected]&gt;</span>
+<a name="line-26"></a><span class="cm"> */</span>
+<a name="line-27"></a>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&quot;config.h&quot;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;dbus/dbus-glib.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-sendto-plugin.h&quot;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#define OBJ_PATH &quot;/im/pidgin/purple/PurpleObject&quot;</span>
+<a name="line-35"></a><span class="cp">#define INTERFACE &quot;im.pidgin.purple.PurpleInterface&quot;</span>
+<a name="line-36"></a><span class="cp">#define SERVICE &quot;im.pidgin.purple.PurpleService&quot;</span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="k">static</span> <span class="n">DBusGProxy</span> <span class="o">*</span><span class="n">proxy</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-39"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">contact_hash</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-40"></a>
+<a name="line-41"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="n">_ContactData</span> <span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-45"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-46"></a><span class="p">}</span> <span class="n">ContactData</span><span class="p">;</span>
+<a name="line-47"></a>
+<a name="line-48"></a><span class="k">enum</span> <span class="p">{</span>
+<a name="line-49"></a> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-50"></a> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-51"></a> <span class="n">NUM_COLS</span>
+<a name="line-52"></a><span class="p">};</span>
+<a name="line-53"></a>
+<a name="line-54"></a><span class="cm">/*</span>
+<a name="line-55"></a><span class="cm"> * Print appropriate warnings when dbus raised error</span>
+<a name="line-56"></a><span class="cm"> * on queries</span>
+<a name="line-57"></a><span class="cm"> */</span>
+<a name="line-58"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-59"></a><span class="nf">handle_dbus_exception</span><span class="p">(</span><span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">)</span>
+<a name="line-60"></a><span class="p">{</span>
+<a name="line-61"></a> <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-62"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to parse result&quot;</span><span class="p">);</span>
+<a name="line-63"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-64"></a> <span class="p">}</span>
+<a name="line-65"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="o">-&gt;</span><span class="n">domain</span> <span class="o">==</span> <span class="n">DBUS_GERROR</span> <span class="o">&amp;&amp;</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">code</span> <span class="o">==</span> <span class="n">DBUS_GERROR_REMOTE_EXCEPTION</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-66"></a> <span class="n">g_warning</span> <span class="p">(</span><span class="s">&quot;[Pidgin] caught remote method exception %s: %s&quot;</span><span class="p">,</span>
+<a name="line-67"></a> <span class="n">dbus_g_error_get_name</span> <span class="p">(</span><span class="n">error</span><span class="p">),</span>
+<a name="line-68"></a> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-69"></a> <span class="p">}</span>
+<a name="line-70"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-71"></a><span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-74"></a><span class="nf">init</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-75"></a><span class="p">{</span>
+<a name="line-76"></a> <span class="n">DBusGConnection</span> <span class="o">*</span><span class="n">connection</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">g_print</span> <span class="p">(</span><span class="s">&quot;Init pidgin plugin</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">bindtextdomain</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-83"></a> <span class="n">bind_textdomain_codeset</span> <span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-84"></a>
+<a name="line-85"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-86"></a> <span class="n">connection</span> <span class="o">=</span> <span class="n">dbus_g_bus_get</span> <span class="p">(</span><span class="n">DBUS_BUS_SESSION</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-87"></a> <span class="k">if</span><span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-88"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] unable to get session bus, error was:</span><span class="se">\n</span><span class="s"> %s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-90"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-91"></a> <span class="p">}</span>
+<a name="line-92"></a>
+<a name="line-93"></a> <span class="n">proxy</span> <span class="o">=</span> <span class="n">dbus_g_proxy_new_for_name</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span>
+<a name="line-94"></a> <span class="n">SERVICE</span><span class="p">,</span>
+<a name="line-95"></a> <span class="n">OBJ_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="n">INTERFACE</span><span class="p">);</span>
+<a name="line-97"></a> <span class="n">dbus_g_connection_unref</span><span class="p">(</span><span class="n">connection</span><span class="p">);</span>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-99"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-100"></a>
+<a name="line-101"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-102"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-103"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-104"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">proxy</span><span class="p">);</span>
+<a name="line-105"></a> <span class="n">g_error_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-106"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-107"></a> <span class="p">}</span>
+<a name="line-108"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-111"></a><span class="p">}</span>
+<a name="line-112"></a>
+<a name="line-113"></a><span class="k">static</span> <span class="n">GdkPixbuf</span> <span class="o">*</span>
+<a name="line-114"></a><span class="nf">get_buddy_icon</span><span class="p">(</span><span class="kt">int</span> <span class="n">id</span><span class="p">)</span>
+<a name="line-115"></a><span class="p">{</span>
+<a name="line-116"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-117"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">pixbuf</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-118"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-119"></a> <span class="kt">int</span> <span class="n">icon</span><span class="p">;</span>
+<a name="line-120"></a>
+<a name="line-121"></a> <span class="n">error</span><span class="o">=</span><span class="nb">NULL</span><span class="p">;</span>
+<a name="line-122"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetIcon&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-124"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-125"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">icon</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-126"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-127"></a> <span class="p">}</span>
+<a name="line-128"></a> <span class="k">if</span> <span class="p">(</span><span class="n">icon</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-129"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIconGetFullPath&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">path</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-133"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-134"></a> <span class="p">}</span>
+<a name="line-135"></a> <span class="c1">//FIXME Get the size from somewhere</span>
+<a name="line-136"></a> <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gdk_pixbuf_new_from_file_at_scale</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="mi">24</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-137"></a> <span class="p">}</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="k">return</span> <span class="n">pixbuf</span><span class="p">;</span>
+<a name="line-140"></a><span class="p">}</span>
+<a name="line-141"></a>
+<a name="line-142"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-143"></a><span class="nf">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">,</span>
+<a name="line-144"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-145"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span>
+<a name="line-146"></a><span class="p">{</span>
+<a name="line-147"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-148"></a> <span class="n">GArray</span> <span class="o">*</span><span class="n">contacts_list</span><span class="p">;</span>
+<a name="line-149"></a><span class="hll"> <span class="n">GArray</span> <span class="o">*</span><span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-150"></a><span class="hll"> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">;</span><span class='error2'>&lt;--- Shadowed declaration</span>
+</span><a name="line-151"></a>
+<a name="line-152"></a> <span class="n">GdkPixbuf</span> <span class="o">*</span><span class="n">icon</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GHashTableIter</span> <span class="n">hiter</span><span class="p">;</span>
+<a name="line-154"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-155"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-156"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="k">if</span><span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-159"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-160"></a>
+<a name="line-161"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-162"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountsGetAllActive&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-163"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span>
+<a name="line-164"></a> <span class="o">&amp;</span><span class="n">accounts</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-165"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-166"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-167"></a> <span class="p">}</span>
+<a name="line-168"></a>
+<a name="line-169"></a> <span class="n">contact_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-170"></a>
+<a name="line-171"></a> <span class="k">for</span><span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-172"></a> <span class="kt">int</span> <span class="n">account</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-173"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleFindBuddies&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-175"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-176"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-177"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-178"></a> <span class="n">DBUS_TYPE_G_INT_ARRAY</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-179"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-180"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-181"></a> <span class="p">}</span>
+<a name="line-182"></a> <span class="k">for</span><span class="p">(</span><span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">contacts_list</span><span class="o">-&gt;</span><span class="n">len</span> <span class="p">;</span> <span class="n">j</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-183"></a> <span class="kt">int</span> <span class="n">id</span> <span class="o">=</span> <span class="n">g_array_index</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="kt">int</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
+<a name="line-184"></a> <span class="kt">int</span> <span class="n">online</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyIsOnline&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-188"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-189"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-190"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">online</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-191"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-192"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-193"></a> <span class="p">}</span>
+<a name="line-194"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">online</span><span class="p">)</span>
+<a name="line-195"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-196"></a>
+<a name="line-197"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">ContactData</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-198"></a>
+<a name="line-199"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span> <span class="o">=</span> <span class="n">account</span><span class="p">;</span>
+<a name="line-200"></a> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span> <span class="o">=</span> <span class="n">id</span><span class="p">;</span>
+<a name="line-201"></a>
+<a name="line-202"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-203"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetName&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-204"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-205"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-206"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-207"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-208"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-209"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-210"></a> <span class="p">}</span>
+<a name="line-211"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleBuddyGetAlias&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-212"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">id</span><span class="p">,</span>
+<a name="line-213"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-214"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-215"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-216"></a> <span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-219"></a> <span class="k">if</span> <span class="p">(</span><span class="n">contacts_group</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">){</span>
+<a name="line-220"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">new_group</span> <span class="o">=</span> <span class="n">g_ptr_array_new</span> <span class="p">();</span>
+<a name="line-221"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">new_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-222"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="n">new_group</span><span class="p">);</span>
+<a name="line-223"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-224"></a> <span class="n">g_ptr_array_add</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">dat</span><span class="p">);</span>
+<a name="line-225"></a> <span class="p">}</span>
+<a name="line-226"></a> <span class="p">}</span>
+<a name="line-227"></a> <span class="n">g_array_free</span><span class="p">(</span><span class="n">contacts_list</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-228"></a> <span class="p">}</span>
+<a name="line-229"></a> <span class="n">g_array_free</span> <span class="p">(</span><span class="n">accounts</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-230"></a>
+<a name="line-231"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-232"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">hiter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-233"></a><span class="hll"> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-234"></a>
+<a name="line-235"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-238"></a>
+<a name="line-239"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-240"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-241"></a>
+<a name="line-242"></a><span class="hll"> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span><span class='error2'>&lt;--- Shadow variable</span>
+</span><a name="line-243"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-244"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-245"></a>
+<a name="line-246"></a> <span class="n">icon</span> <span class="o">=</span> <span class="n">get_buddy_icon</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">id</span><span class="p">);</span>
+<a name="line-247"></a>
+<a name="line-248"></a> <span class="k">if</span> <span class="p">(</span><span class="n">accounts</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-249"></a> <span class="n">g_value_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">);</span>
+<a name="line-250"></a> <span class="n">g_value_set_object</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="n">icon</span><span class="p">);</span>
+<a name="line-251"></a> <span class="n">gtk_tree_store_set_value</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-253"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-254"></a> <span class="p">}</span>
+<a name="line-255"></a> <span class="n">gtk_tree_store_append</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">parent</span><span class="p">);</span>
+<a name="line-256"></a> <span class="n">gtk_tree_store_set</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span>
+<a name="line-257"></a> <span class="n">COL_ICON</span><span class="p">,</span> <span class="n">icon</span><span class="p">,</span>
+<a name="line-258"></a> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">,</span>
+<a name="line-259"></a> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-260"></a> <span class="p">}</span>
+<a name="line-261"></a> <span class="p">}</span>
+<a name="line-262"></a><span class="p">}</span>
+<a name="line-263"></a>
+<a name="line-264"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-265"></a><span class="nf">customize</span> <span class="p">(</span><span class="n">GtkCellLayout</span> <span class="o">*</span><span class="n">cell_layout</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">cell</span><span class="p">,</span>
+<a name="line-267"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">tree_model</span><span class="p">,</span>
+<a name="line-268"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span>
+<a name="line-269"></a> <span class="n">gpointer</span> <span class="n">text</span><span class="p">)</span>
+<a name="line-270"></a><span class="p">{</span>
+<a name="line-271"></a> <span class="n">gboolean</span> <span class="n">has_child</span><span class="p">;</span>
+<a name="line-272"></a> <span class="n">has_child</span> <span class="o">=</span> <span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">tree_model</span><span class="p">,</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-273"></a> <span class="k">if</span> <span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-274"></a> <span class="k">if</span> <span class="p">(</span><span class="n">has_child</span><span class="p">)</span>
+<a name="line-275"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">18</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-276"></a> <span class="k">else</span>
+<a name="line-277"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;xpad&quot;</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-278"></a> <span class="p">}</span>
+<a name="line-279"></a> <span class="n">g_object_set</span> <span class="p">(</span><span class="n">G_OBJECT</span><span class="p">(</span><span class="n">cell</span><span class="p">),</span> <span class="s">&quot;sensitive&quot;</span><span class="p">,</span> <span class="o">!</span><span class="n">has_child</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-280"></a><span class="p">}</span>
+<a name="line-281"></a>
+<a name="line-282"></a><span class="k">static</span> <span class="n">GtkWidget</span> <span class="o">*</span>
+<a name="line-283"></a><span class="nf">get_contacts_widget</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-284"></a><span class="p">{</span>
+<a name="line-285"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">cb</span><span class="p">;</span>
+<a name="line-286"></a> <span class="n">GtkCellRenderer</span> <span class="o">*</span><span class="n">renderer</span><span class="p">;</span>
+<a name="line-287"></a> <span class="n">GtkTreeStore</span> <span class="o">*</span><span class="n">store</span><span class="p">;</span>
+<a name="line-288"></a> <span class="n">GtkTreeModel</span> <span class="o">*</span><span class="n">model</span><span class="p">;</span>
+<a name="line-289"></a> <span class="n">GtkTreeIter</span> <span class="o">*</span><span class="n">iter</span><span class="p">,</span> <span class="o">*</span><span class="n">iter2</span><span class="p">;</span>
+<a name="line-290"></a>
+<a name="line-291"></a> <span class="n">iter</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-292"></a> <span class="n">iter2</span> <span class="o">=</span> <span class="n">g_malloc</span> <span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="n">GtkTreeIter</span><span class="p">));</span>
+<a name="line-293"></a> <span class="n">store</span> <span class="o">=</span> <span class="n">gtk_tree_store_new</span> <span class="p">(</span><span class="n">NUM_COLS</span><span class="p">,</span> <span class="n">GDK_TYPE_PIXBUF</span><span class="p">,</span> <span class="n">G_TYPE_STRING</span><span class="p">);</span>
+<a name="line-294"></a> <span class="n">add_pidgin_contacts_to_model</span> <span class="p">(</span><span class="n">store</span><span class="p">,</span> <span class="n">iter</span><span class="p">,</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-295"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">gtk_tree_model_sort_new_with_model</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">store</span><span class="p">));</span>
+<a name="line-296"></a> <span class="n">gtk_tree_sortable_set_sort_column_id</span> <span class="p">(</span><span class="n">GTK_TREE_SORTABLE</span> <span class="p">(</span><span class="n">model</span><span class="p">),</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-297"></a> <span class="n">GTK_SORT_ASCENDING</span><span class="p">);</span>
+<a name="line-298"></a> <span class="n">cb</span> <span class="o">=</span> <span class="n">gtk_combo_box_new_with_model</span> <span class="p">(</span><span class="n">model</span><span class="p">);</span>
+<a name="line-299"></a>
+<a name="line-300"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_pixbuf_new</span> <span class="p">();</span>
+<a name="line-301"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-302"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-303"></a> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-304"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-305"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-306"></a> <span class="s">&quot;pixbuf&quot;</span><span class="p">,</span> <span class="n">COL_ICON</span><span class="p">,</span>
+<a name="line-307"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-308"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-309"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-310"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">FALSE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-311"></a> <span class="n">renderer</span> <span class="o">=</span> <span class="n">gtk_cell_renderer_text_new</span> <span class="p">();</span>
+<a name="line-312"></a> <span class="n">gtk_cell_layout_pack_start</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-313"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-315"></a> <span class="n">gtk_cell_layout_set_attributes</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span>
+<a name="line-316"></a> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-317"></a> <span class="s">&quot;text&quot;</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span>
+<a name="line-318"></a> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-319"></a> <span class="n">g_object_set</span><span class="p">(</span><span class="n">renderer</span><span class="p">,</span> <span class="s">&quot;ellipsize&quot;</span><span class="p">,</span> <span class="n">PANGO_ELLIPSIZE_END</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-320"></a> <span class="n">gtk_cell_layout_set_cell_data_func</span> <span class="p">(</span><span class="n">GTK_CELL_LAYOUT</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">renderer</span><span class="p">,</span>
+<a name="line-321"></a> <span class="n">customize</span><span class="p">,</span>
+<a name="line-322"></a> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="p">)</span><span class="n">TRUE</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-323"></a>
+<a name="line-324"></a> <span class="n">gtk_combo_box_set_active</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-325"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter</span><span class="p">);</span>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_tree_model_iter_has_child</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-327"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_path_new_from_indices</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+<a name="line-328"></a> <span class="n">gtk_tree_model_get_iter</span> <span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">iter2</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-329"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-330"></a> <span class="n">gtk_combo_box_set_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">cb</span><span class="p">),</span> <span class="n">iter2</span><span class="p">);</span>
+<a name="line-331"></a> <span class="p">}</span>
+<a name="line-332"></a>
+<a name="line-333"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-334"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">iter2</span><span class="p">);</span>
+<a name="line-335"></a> <span class="k">return</span> <span class="n">cb</span><span class="p">;</span>
+<a name="line-336"></a><span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a><span class="k">static</span>
+<a name="line-339"></a><span class="n">gboolean</span> <span class="nf">send_file</span><span class="p">(</span><span class="kt">int</span> <span class="n">account</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">who</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">)</span>
+<a name="line-340"></a><span class="p">{</span>
+<a name="line-341"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-342"></a> <span class="kt">int</span> <span class="n">connection</span><span class="p">;</span>
+<a name="line-343"></a>
+<a name="line-344"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;PurpleAccountGetConnection&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-346"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">account</span><span class="p">,</span>
+<a name="line-347"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span>
+<a name="line-348"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">connection</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-349"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-350"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-351"></a> <span class="p">}</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">connection</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-354"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] account is not connected&quot;</span><span class="p">);</span>
+<a name="line-355"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-356"></a> <span class="p">}</span>
+<a name="line-357"></a>
+<a name="line-358"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-359"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">dbus_g_proxy_call</span><span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">&quot;ServSendFile&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">,</span>
+<a name="line-360"></a> <span class="n">G_TYPE_INT</span><span class="p">,</span> <span class="n">connection</span><span class="p">,</span>
+<a name="line-361"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">who</span><span class="p">,</span>
+<a name="line-362"></a> <span class="n">G_TYPE_STRING</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span>
+<a name="line-363"></a> <span class="n">G_TYPE_INVALID</span><span class="p">,</span> <span class="n">G_TYPE_INVALID</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-364"></a> <span class="n">handle_dbus_exception</span><span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-365"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-368"></a><span class="p">}</span>
+<a name="line-369"></a>
+<a name="line-370"></a><span class="k">static</span>
+<a name="line-371"></a><span class="n">gboolean</span> <span class="nf">send_files</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">,</span> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">contact_widget</span><span class="p">,</span>
+<a name="line-372"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_list</span><span class="p">)</span>
+<a name="line-373"></a><span class="p">{</span>
+<a name="line-374"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">file_iter</span><span class="p">;</span>
+<a name="line-375"></a>
+<a name="line-376"></a><span class="hll"> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-377"></a><span class="hll"> <span class="n">gchar</span> <span class="o">*</span><span class="n">file_path</span><span class="p">;</span><div class='verbose expandable'><span class='error2'>&lt;--- The scope of the variable 'file_path' can be reduced. <span class='marker'>[+]</span></span><div class='content'>The scope of the variable &apos;file_path&apos; can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for &apos;i&apos; can be reduced:
+void f(int x)
+{
+ int i = 0;
+ if (x) {
+ // it&apos;s safe to move &apos;int i = 0;&apos; here
+ for (int n = 0; n &lt; 10; ++n) {
+ // it is possible but not safe to move &apos;int i = 0;&apos; here
+ do_something(&amp;i);
+ }
+ }
+}
+When you see this message it is always safe to reduce the variable scope 1 level.</div></div>
+</span><a name="line-378"></a>
+<a name="line-379"></a> <span class="n">gint</span> <span class="n">depth</span><span class="p">;</span>
+<a name="line-380"></a> <span class="n">GtkTreeIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-381"></a> <span class="n">GtkTreePath</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-382"></a> <span class="n">gint</span> <span class="o">*</span><span class="n">indices</span><span class="p">;</span>
+<a name="line-383"></a> <span class="k">const</span> <span class="n">gchar</span> <span class="o">*</span><span class="n">alias</span><span class="p">;</span>
+<a name="line-384"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-385"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-386"></a> <span class="n">GValue</span> <span class="n">val</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,};</span>
+<a name="line-387"></a>
+<a name="line-388"></a>
+<a name="line-389"></a> <span class="k">if</span> <span class="p">(</span><span class="n">proxy</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-390"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-391"></a>
+<a name="line-392"></a> <span class="n">gtk_combo_box_get_active_iter</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span> <span class="p">(</span><span class="n">contact_widget</span><span class="p">),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-393"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">gtk_tree_model_get_path</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span>
+<a name="line-394"></a> <span class="n">gtk_combo_box_get_model</span> <span class="p">(</span><span class="n">GTK_COMBO_BOX</span><span class="p">(</span>
+<a name="line-395"></a> <span class="n">contact_widget</span><span class="p">))),</span> <span class="o">&amp;</span><span class="n">iter</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">depth</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_depth</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-397"></a> <span class="n">indices</span> <span class="o">=</span> <span class="n">gtk_tree_path_get_indices</span><span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">gtk_tree_path_free</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-399"></a> <span class="n">gtk_tree_model_get_value</span> <span class="p">(</span><span class="n">GTK_TREE_MODEL</span> <span class="p">(</span><span class="n">gtk_combo_box_get_model</span> <span class="p">(</span>
+<a name="line-400"></a> <span class="n">GTK_COMBO_BOX</span><span class="p">(</span><span class="n">contact_widget</span><span class="p">))),</span>
+<a name="line-401"></a> <span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">COL_ALIAS</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-402"></a> <span class="n">alias</span> <span class="o">=</span> <span class="n">g_value_get_string</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-403"></a> <span class="n">contacts_group</span> <span class="o">=</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">,</span> <span class="n">alias</span><span class="p">);</span>
+<a name="line-404"></a> <span class="n">g_value_unset</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">val</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="p">(</span><span class="n">depth</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="o">?</span> <span class="n">indices</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">:</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-406"></a>
+<a name="line-407"></a> <span class="k">for</span> <span class="p">(</span><span class="n">file_iter</span> <span class="o">=</span> <span class="n">file_list</span><span class="p">;</span> <span class="n">file_iter</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-408"></a> <span class="n">file_iter</span> <span class="o">=</span> <span class="n">g_list_next</span><span class="p">(</span><span class="n">file_iter</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-409"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">g_file_new_for_uri</span> <span class="p">((</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-410"></a> <span class="n">file_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-411"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-412"></a>
+<a name="line-413"></a> <span class="k">if</span> <span class="p">(</span><span class="n">file_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Unable to convert URI `%s&#39; to absolute file path&quot;</span><span class="p">,</span>
+<a name="line-415"></a> <span class="p">(</span><span class="n">gchar</span> <span class="o">*</span><span class="p">)</span><span class="n">file_iter</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-416"></a> <span class="k">continue</span><span class="p">;</span>
+<a name="line-417"></a> <span class="p">}</span>
+<a name="line-418"></a>
+<a name="line-419"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">send_file</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">account</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">,</span> <span class="n">file_path</span><span class="p">))</span>
+<a name="line-420"></a> <span class="n">g_warning</span><span class="p">(</span><span class="s">&quot;[Pidgin] Failed to send %s file to %s&quot;</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-421"></a>
+<a name="line-422"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">file_path</span><span class="p">);</span>
+<a name="line-423"></a> <span class="p">}</span>
+<a name="line-424"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-425"></a><span class="p">}</span>
+<a name="line-426"></a>
+<a name="line-427"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-428"></a><span class="nf">free_contact</span> <span class="p">(</span><span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">)</span>
+<a name="line-429"></a><span class="p">{</span>
+<a name="line-430"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">name</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="o">-&gt;</span><span class="n">alias</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_free</span><span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-433"></a><span class="p">}</span>
+<a name="line-434"></a>
+<a name="line-435"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-436"></a><span class="nf">destroy</span> <span class="p">(</span><span class="n">NstPlugin</span> <span class="o">*</span><span class="n">plugin</span><span class="p">)</span>
+<a name="line-437"></a><span class="p">{</span>
+<a name="line-438"></a> <span class="n">GHashTableIter</span> <span class="n">iter</span><span class="p">;</span>
+<a name="line-439"></a> <span class="n">GPtrArray</span> <span class="o">*</span><span class="n">contacts_group</span><span class="p">;</span>
+<a name="line-440"></a> <span class="n">ContactData</span> <span class="o">*</span><span class="n">dat</span><span class="p">;</span>
+<a name="line-441"></a>
+<a name="line-442"></a> <span class="n">g_hash_table_iter_init</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-443"></a> <span class="k">while</span> <span class="p">(</span><span class="n">g_hash_table_iter_next</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">iter</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">gpointer</span><span class="p">)</span><span class="o">&amp;</span><span class="n">contacts_group</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-444"></a> <span class="n">gint</span> <span class="n">accounts</span><span class="p">;</span>
+<a name="line-445"></a> <span class="n">accounts</span> <span class="o">=</span> <span class="n">contacts_group</span><span class="o">-&gt;</span><span class="n">len</span><span class="p">;</span>
+<a name="line-446"></a>
+<a name="line-447"></a> <span class="n">gint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-448"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">accounts</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-449"></a> <span class="n">dat</span> <span class="o">=</span> <span class="n">g_ptr_array_index</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+<a name="line-450"></a> <span class="n">free_contact</span> <span class="p">(</span><span class="n">dat</span><span class="p">);</span>
+<a name="line-451"></a> <span class="p">}</span>
+<a name="line-452"></a> <span class="n">g_ptr_array_free</span> <span class="p">(</span><span class="n">contacts_group</span><span class="p">,</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-453"></a> <span class="p">}</span>
+<a name="line-454"></a> <span class="n">g_hash_table_destroy</span> <span class="p">(</span><span class="n">contact_hash</span><span class="p">);</span>
+<a name="line-455"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-456"></a><span class="p">}</span>
+<a name="line-457"></a>
+<a name="line-458"></a><span class="k">static</span>
+<a name="line-459"></a><span class="n">NstPluginInfo</span> <span class="n">plugin_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-460"></a> <span class="s">&quot;im&quot;</span><span class="p">,</span>
+<a name="line-461"></a> <span class="s">&quot;pidgin&quot;</span><span class="p">,</span>
+<a name="line-462"></a> <span class="n">N_</span><span class="p">(</span><span class="s">&quot;Instant Message (Pidgin)&quot;</span><span class="p">),</span>
+<a name="line-463"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-464"></a> <span class="n">CAJA_CAPS_NONE</span><span class="p">,</span>
+<a name="line-465"></a> <span class="n">init</span><span class="p">,</span>
+<a name="line-466"></a> <span class="n">get_contacts_widget</span><span class="p">,</span>
+<a name="line-467"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-468"></a> <span class="n">send_files</span><span class="p">,</span>
+<a name="line-469"></a> <span class="n">destroy</span>
+<a name="line-470"></a><span class="p">};</span>
+<a name="line-471"></a>
+<a name="line-472"></a><span class="n">NST_INIT_PLUGIN</span> <span class="p">(</span><span class="n">plugin_info</span><span class="p">)</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/8.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/8.html
new file mode 100644
index 0000000..5d7a721
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/8.html
@@ -0,0 +1,2730 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/caja-share.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> caja-share.c</p>
+<a href='8.html#line-730'> duplicateCondition 730</a><a href='8.html#line-738'> duplicateCondition 738</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cm">/* caja-share -- Caja File Sharing Extension</span>
+<a name="line-2"></a><span class="cm"> *</span>
+<a name="line-3"></a><span class="cm"> * Sebastien Estienne &lt;[email protected]&gt;</span>
+<a name="line-4"></a><span class="cm"> *</span>
+<a name="line-5"></a><span class="cm"> * This program is free software; you can redistribute it and/or modify</span>
+<a name="line-6"></a><span class="cm"> * it under the terms of the GNU General Public License as published by</span>
+<a name="line-7"></a><span class="cm"> * the Free Software Foundation; either version 2 of the License, or</span>
+<a name="line-8"></a><span class="cm"> * (at your option) any later version.</span>
+<a name="line-9"></a><span class="cm"> *</span>
+<a name="line-10"></a><span class="cm"> * This program is distributed in the hope that it will be useful,</span>
+<a name="line-11"></a><span class="cm"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<a name="line-12"></a><span class="cm"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+<a name="line-13"></a><span class="cm"> * GNU General Public License for more details.</span>
+<a name="line-14"></a><span class="cm"> *</span>
+<a name="line-15"></a><span class="cm"> * You should have received a copy of the GNU General Public License</span>
+<a name="line-16"></a><span class="cm"> * along with this program; if not, write to the Free Software</span>
+<a name="line-17"></a><span class="cm"> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span>
+<a name="line-18"></a><span class="cm"> *</span>
+<a name="line-19"></a><span class="cm"> * (C) Copyright 2005 Ethium, Inc.</span>
+<a name="line-20"></a><span class="cm"> */</span>
+<a name="line-21"></a>
+<a name="line-22"></a><span class="cp">#ifdef HAVE_CONFIG_H</span>
+<a name="line-23"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-24"></a><span class="cp">#endif</span>
+<a name="line-25"></a>
+<a name="line-26"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-27"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-column-provider.h&gt;</span><span class="cp"></span>
+<a name="line-28"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-extension-types.h&gt;</span><span class="cp"></span>
+<a name="line-29"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-file-info.h&gt;</span><span class="cp"></span>
+<a name="line-30"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-info-provider.h&gt;</span><span class="cp"></span>
+<a name="line-31"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-menu-provider.h&gt;</span><span class="cp"></span>
+<a name="line-32"></a><span class="cp">#include</span> <span class="cpf">&lt;libcaja-extension/caja-property-page-provider.h&gt;</span><span class="cp"></span>
+<a name="line-33"></a>
+<a name="line-34"></a><span class="cp">#include</span> <span class="cpf">&quot;caja-share.h&quot;</span><span class="cp"></span>
+<a name="line-35"></a>
+<a name="line-36"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-37"></a>
+<a name="line-38"></a><span class="cp">#include</span> <span class="cpf">&lt;gio/gio.h&gt;</span><span class="cp"></span>
+<a name="line-39"></a>
+<a name="line-40"></a><span class="cp">#include</span> <span class="cpf">&lt;gtk/gtk.h&gt;</span><span class="cp"></span>
+<a name="line-41"></a>
+<a name="line-42"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-43"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-44"></a>
+<a name="line-45"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-46"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/stat.h&gt;</span><span class="cp"></span>
+<a name="line-47"></a><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp"></span>
+<a name="line-48"></a><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
+<a name="line-49"></a>
+<a name="line-50"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-51"></a>
+<a name="line-52"></a>
+<a name="line-53"></a><span class="cp">#define NEED_IF_GUESTOK_MASK (S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) </span><span class="cm">/* need go+rx for guest enabled usershares */</span><span class="cp"></span>
+<a name="line-54"></a><span class="cp">#define NEED_IF_WRITABLE_MASK (S_IWGRP | S_IWOTH) </span><span class="cm">/* writable usershares need go+w additionally*/</span><span class="cp"></span>
+<a name="line-55"></a><span class="cp">#define NEED_ALL_MASK (NEED_IF_GUESTOK_MASK | NEED_IF_WRITABLE_MASK)</span>
+<a name="line-56"></a>
+<a name="line-57"></a><span class="k">static</span> <span class="n">GObjectClass</span> <span class="o">*</span><span class="n">parent_class</span><span class="p">;</span>
+<a name="line-58"></a>
+<a name="line-59"></a><span class="cm">/* Structure to hold all the information for a share&#39;s property page. If</span>
+<a name="line-60"></a><span class="cm"> * you add stuff to this, add it to free_property_page_cb() as well.</span>
+<a name="line-61"></a><span class="cm"> */</span>
+<a name="line-62"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-63"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span> <span class="cm">/* Full path which is being shared */</span>
+<a name="line-64"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span> <span class="cm">/* Caja file to which this page refers */</span>
+<a name="line-65"></a>
+<a name="line-66"></a> <span class="n">GtkBuilder</span> <span class="o">*</span><span class="n">ui</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">main</span><span class="p">;</span> <span class="cm">/* Widget that holds all the rest. Its &quot;PropertyPage&quot; GObject-data points to this PropertyPage structure */</span>
+<a name="line-69"></a>
+<a name="line-70"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_folder</span><span class="p">;</span>
+<a name="line-71"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">box_share_content</span><span class="p">;</span>
+<a name="line-72"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_name</span><span class="p">;</span>
+<a name="line-73"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_rw_ro</span><span class="p">;</span>
+<a name="line-74"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">checkbutton_share_guest_ok</span><span class="p">;</span>
+<a name="line-75"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">entry_share_comment</span><span class="p">;</span>
+<a name="line-76"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">label_status</span><span class="p">;</span>
+<a name="line-77"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_cancel</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">button_apply</span><span class="p">;</span>
+<a name="line-79"></a>
+<a name="line-80"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">standalone_window</span><span class="p">;</span>
+<a name="line-81"></a>
+<a name="line-82"></a> <span class="n">gboolean</span> <span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-83"></a> <span class="n">gboolean</span> <span class="n">was_writable</span><span class="p">;</span>
+<a name="line-84"></a> <span class="n">gboolean</span> <span class="n">is_dirty</span><span class="p">;</span>
+<a name="line-85"></a><span class="p">}</span> <span class="n">PropertyPage</span><span class="p">;</span>
+<a name="line-86"></a>
+<a name="line-87"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-88"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">);</span>
+<a name="line-89"></a><span class="k">static</span> <span class="kt">void</span> <span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">);</span>
+<a name="line-90"></a>
+<a name="line-91"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-92"></a><span class="nf">property_page_validate_fields</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-93"></a><span class="p">{</span>
+<a name="line-94"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">name</span><span class="p">;</span>
+<a name="line-95"></a>
+<a name="line-96"></a> <span class="n">name</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-97"></a>
+<a name="line-98"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span> <span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-99"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-100"></a> <span class="k">else</span>
+<a name="line-101"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-102"></a><span class="p">}</span>
+<a name="line-103"></a>
+<a name="line-104"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-105"></a><span class="nf">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-106"></a><span class="p">{</span>
+<a name="line-107"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-108"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-109"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-110"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-111"></a>
+<a name="line-112"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-113"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-114"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-115"></a>
+<a name="line-116"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-117"></a>
+<a name="line-118"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-119"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-120"></a> <span class="n">GTK_MESSAGE_QUESTION</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">GTK_BUTTONS_NONE</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Caja needs to add some permissions to your folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> in order to share it&quot;</span><span class="p">),</span>
+<a name="line-123"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-124"></a>
+<a name="line-125"></a> <span class="cm">/* FIXME: the following message only mentions &quot;permission by others&quot;. We</span>
+<a name="line-126"></a><span class="cm"> * should probably be more explicit and mention group/other permissions.</span>
+<a name="line-127"></a><span class="cm"> * We&#39;ll be able to do that after the period of string freeze.</span>
+<a name="line-128"></a><span class="cm"> */</span>
+<a name="line-129"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span>
+<a name="line-130"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s"> needs the following extra permissions for sharing to work:</span><span class="se">\n</span><span class="s">&quot;</span>
+<a name="line-131"></a> <span class="s">&quot;%s%s%s&quot;</span>
+<a name="line-132"></a> <span class="s">&quot;Do you want Caja to add these permissions to the folder automatically?&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">display_name</span><span class="p">,</span>
+<a name="line-134"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IRGRP</span> <span class="o">|</span> <span class="n">S_IROTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - read permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-135"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IWGRP</span> <span class="o">|</span> <span class="n">S_IWOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - write permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">,</span>
+<a name="line-136"></a> <span class="p">(</span><span class="n">need_mask</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">S_IXGRP</span> <span class="o">|</span> <span class="n">S_IXOTH</span><span class="p">))</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot; - execute permission by others</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-137"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-138"></a>
+<a name="line-139"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_STOCK_CANCEL</span><span class="p">,</span> <span class="n">GTK_RESPONSE_CANCEL</span><span class="p">);</span>
+<a name="line-140"></a> <span class="n">gtk_dialog_add_button</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Add the permissions automatically&quot;</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-141"></a> <span class="n">gtk_dialog_set_default_response</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">),</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">);</span>
+<a name="line-142"></a>
+<a name="line-143"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">))</span> <span class="o">==</span> <span class="n">GTK_RESPONSE_ACCEPT</span><span class="p">;</span>
+<a name="line-144"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-145"></a>
+<a name="line-146"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-147"></a><span class="p">}</span>
+<a name="line-148"></a>
+<a name="line-149"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-150"></a><span class="nf">error_when_changing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-151"></a><span class="p">{</span>
+<a name="line-152"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">toplevel</span><span class="p">;</span>
+<a name="line-153"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">dialog</span><span class="p">;</span>
+<a name="line-154"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="n">gtk_widget_get_toplevel</span> <span class="p">(</span><span class="n">widget</span><span class="p">);</span>
+<a name="line-157"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">GTK_IS_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">))</span>
+<a name="line-158"></a> <span class="n">toplevel</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-159"></a>
+<a name="line-160"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-161"></a>
+<a name="line-162"></a> <span class="n">dialog</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="n">toplevel</span> <span class="o">?</span> <span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">toplevel</span><span class="p">)</span> <span class="o">:</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-163"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-164"></a> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span>
+<a name="line-165"></a> <span class="n">GTK_BUTTONS_OK</span><span class="p">,</span>
+<a name="line-166"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Could not change the permissions of folder </span><span class="se">\&quot;</span><span class="s">%s</span><span class="se">\&quot;</span><span class="s">&quot;</span><span class="p">),</span>
+<a name="line-167"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-168"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="n">gtk_dialog_run</span> <span class="p">(</span><span class="n">GTK_DIALOG</span> <span class="p">(</span><span class="n">dialog</span><span class="p">));</span>
+<a name="line-171"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">dialog</span><span class="p">);</span>
+<a name="line-172"></a><span class="p">}</span>
+<a name="line-173"></a>
+<a name="line-174"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-175"></a><span class="nf">get_key_file_path</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-176"></a><span class="p">{</span>
+<a name="line-177"></a> <span class="k">return</span> <span class="n">g_build_filename</span> <span class="p">(</span><span class="n">g_get_home_dir</span> <span class="p">(),</span> <span class="s">&quot;.mate2&quot;</span><span class="p">,</span> <span class="s">&quot;mate-file-manager-share-modified-permissions&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-178"></a><span class="p">}</span>
+<a name="line-179"></a>
+<a name="line-180"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-181"></a><span class="nf">save_key_file</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">filename</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-182"></a><span class="p">{</span>
+<a name="line-183"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">contents</span><span class="p">;</span>
+<a name="line-184"></a> <span class="n">gsize</span> <span class="n">length</span><span class="p">;</span>
+<a name="line-185"></a>
+<a name="line-186"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-187"></a> <span class="n">contents</span> <span class="o">=</span> <span class="n">g_key_file_to_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-188"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">contents</span><span class="p">)</span>
+<a name="line-189"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-190"></a>
+<a name="line-191"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-192"></a> <span class="n">g_file_set_contents</span> <span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">contents</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-193"></a>
+<a name="line-194"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">contents</span><span class="p">);</span>
+<a name="line-195"></a><span class="p">}</span>
+<a name="line-196"></a>
+<a name="line-197"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-198"></a><span class="nf">save_changed_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-199"></a><span class="p">{</span>
+<a name="line-200"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-201"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-202"></a> <span class="kt">char</span> <span class="n">str</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-203"></a>
+<a name="line-204"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-205"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-206"></a>
+<a name="line-207"></a> <span class="cm">/* NULL GError</span>
+<a name="line-208"></a><span class="cm"> *</span>
+<a name="line-209"></a><span class="cm"> * We don&#39;t check the return value of this. If the file doesn&#39;t exist, we&#39;ll</span>
+<a name="line-210"></a><span class="cm"> * simply want to create it.</span>
+<a name="line-211"></a><span class="cm"> */</span>
+<a name="line-212"></a> <span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-213"></a>
+<a name="line-214"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">str</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal, baby */</span>
+<a name="line-215"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-216"></a>
+<a name="line-217"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-218"></a>
+<a name="line-219"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-220"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-221"></a><span class="p">}</span>
+<a name="line-222"></a>
+<a name="line-223"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-224"></a><span class="nf">remove_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">)</span>
+<a name="line-225"></a><span class="p">{</span>
+<a name="line-226"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-227"></a> <span class="kt">mode_t</span> <span class="n">new_mode</span><span class="p">;</span>
+<a name="line-228"></a>
+<a name="line-229"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-230"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-231"></a>
+<a name="line-232"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-233"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-234"></a>
+<a name="line-235"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">need_mask</span><span class="p">;</span>
+<a name="line-236"></a>
+<a name="line-237"></a> <span class="cm">/* Bleah, no error checking */</span>
+<a name="line-238"></a> <span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-239"></a><span class="p">}</span>
+<a name="line-240"></a>
+<a name="line-241"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-242"></a><span class="nf">remove_from_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">mode_t</span> <span class="n">remove_mask</span><span class="p">)</span>
+<a name="line-243"></a><span class="p">{</span>
+<a name="line-244"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-245"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">key_file_path</span><span class="p">;</span>
+<a name="line-246"></a>
+<a name="line-247"></a> <span class="k">if</span> <span class="p">(</span><span class="n">remove_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-248"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-249"></a>
+<a name="line-250"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">key_file_path</span> <span class="o">=</span> <span class="n">get_key_file_path</span> <span class="p">();</span>
+<a name="line-252"></a>
+<a name="line-253"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_load_from_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">key_file_path</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-254"></a> <span class="p">{</span>
+<a name="line-255"></a> <span class="kt">mode_t</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-256"></a> <span class="kt">mode_t</span> <span class="n">remove_from_current_mask</span><span class="p">;</span>
+<a name="line-257"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-258"></a>
+<a name="line-259"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-260"></a>
+<a name="line-261"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-262"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-263"></a>
+<a name="line-264"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span><span class="p">)</span>
+<a name="line-265"></a> <span class="p">{</span>
+<a name="line-266"></a> <span class="n">guint</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-267"></a>
+<a name="line-268"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sscanf</span> <span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">i</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="cm">/* octal */</span>
+<a name="line-269"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-270"></a>
+<a name="line-271"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-272"></a> <span class="p">}</span>
+<a name="line-273"></a>
+<a name="line-274"></a> <span class="n">remove_from_current_mask</span> <span class="o">=</span> <span class="n">need_mask</span> <span class="o">&amp;</span> <span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-275"></a> <span class="n">remove_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">remove_from_current_mask</span><span class="p">);</span>
+<a name="line-276"></a>
+<a name="line-277"></a> <span class="n">need_mask</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="n">remove_mask</span><span class="p">;</span>
+<a name="line-278"></a>
+<a name="line-279"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-280"></a> <span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* NULL GError */</span>
+<a name="line-282"></a> <span class="n">g_key_file_remove_group</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-283"></a> <span class="p">}</span>
+<a name="line-284"></a> <span class="k">else</span>
+<a name="line-285"></a> <span class="p">{</span>
+<a name="line-286"></a> <span class="kt">char</span> <span class="n">buf</span><span class="p">[</span><span class="mi">50</span><span class="p">];</span>
+<a name="line-287"></a>
+<a name="line-288"></a> <span class="n">g_snprintf</span> <span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="k">sizeof</span> <span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="s">&quot;%o&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">guint</span><span class="p">)</span> <span class="n">need_mask</span><span class="p">);</span> <span class="cm">/* octal */</span>
+<a name="line-289"></a> <span class="n">g_key_file_set_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="s">&quot;need_mask&quot;</span><span class="p">,</span> <span class="n">buf</span><span class="p">);</span>
+<a name="line-290"></a> <span class="p">}</span>
+<a name="line-291"></a>
+<a name="line-292"></a> <span class="n">save_key_file</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">,</span> <span class="n">key_file</span><span class="p">);</span>
+<a name="line-293"></a> <span class="p">}</span>
+<a name="line-294"></a>
+<a name="line-295"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-296"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">key_file_path</span><span class="p">);</span>
+<a name="line-297"></a><span class="p">}</span>
+<a name="line-298"></a>
+<a name="line-299"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-300"></a><span class="nf">restore_saved_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-301"></a><span class="p">{</span>
+<a name="line-302"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_ALL_MASK</span><span class="p">);</span>
+<a name="line-303"></a><span class="p">}</span>
+<a name="line-304"></a>
+<a name="line-305"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-306"></a><span class="nf">restore_write_permissions</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-307"></a><span class="p">{</span>
+<a name="line-308"></a> <span class="n">remove_from_saved_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">);</span>
+<a name="line-309"></a><span class="p">}</span>
+<a name="line-310"></a>
+<a name="line-311"></a><span class="k">typedef</span> <span class="k">enum</span> <span class="p">{</span>
+<a name="line-312"></a> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">,</span>
+<a name="line-313"></a> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">,</span>
+<a name="line-314"></a> <span class="n">CONFIRM_MODIFIED</span>
+<a name="line-315"></a><span class="p">}</span> <span class="n">ConfirmPermissionsStatus</span><span class="p">;</span>
+<a name="line-316"></a>
+<a name="line-317"></a><span class="k">static</span> <span class="n">ConfirmPermissionsStatus</span>
+<a name="line-318"></a><span class="nf">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">GtkWidget</span> <span class="o">*</span><span class="n">widget</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">,</span> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">)</span>
+<a name="line-319"></a><span class="p">{</span>
+<a name="line-320"></a> <span class="k">struct</span> <span class="n">stat</span> <span class="n">st</span><span class="p">;</span>
+<a name="line-321"></a> <span class="kt">mode_t</span> <span class="n">mode</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">;</span>
+<a name="line-322"></a>
+<a name="line-323"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-324"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-325"></a>
+<a name="line-326"></a> <span class="k">if</span> <span class="p">(</span><span class="n">stat</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">st</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-327"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span> <span class="cm">/* We&#39;ll just let &quot;net usershare&quot; give back an error if the file disappears */</span>
+<a name="line-328"></a>
+<a name="line-329"></a> <span class="n">new_mode</span> <span class="o">=</span> <span class="n">mode</span> <span class="o">=</span> <span class="n">st</span><span class="p">.</span><span class="n">st_mode</span><span class="p">;</span>
+<a name="line-330"></a>
+<a name="line-331"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-332"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_GUESTOK_MASK</span><span class="p">;</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-334"></a> <span class="n">new_mode</span> <span class="o">|=</span> <span class="n">NEED_IF_WRITABLE_MASK</span><span class="p">;</span>
+<a name="line-335"></a>
+<a name="line-336"></a> <span class="n">need_mask</span> <span class="o">=</span> <span class="n">new_mode</span> <span class="o">&amp;</span> <span class="o">~</span><span class="n">mode</span><span class="p">;</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="k">if</span> <span class="p">(</span><span class="n">need_mask</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-339"></a> <span class="p">{</span>
+<a name="line-340"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">!=</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-341"></a>
+<a name="line-342"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">message_confirm_missing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">))</span>
+<a name="line-343"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-344"></a>
+<a name="line-345"></a> <span class="k">if</span> <span class="p">(</span><span class="n">chmod</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">new_mode</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-346"></a> <span class="p">{</span>
+<a name="line-347"></a> <span class="n">error_when_changing_permissions</span> <span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-348"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-349"></a> <span class="p">}</span>
+<a name="line-350"></a>
+<a name="line-351"></a> <span class="n">save_changed_permissions</span> <span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">need_mask</span><span class="p">);</span>
+<a name="line-352"></a>
+<a name="line-353"></a> <span class="k">return</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">;</span>
+<a name="line-354"></a> <span class="p">}</span>
+<a name="line-355"></a> <span class="k">else</span>
+<a name="line-356"></a> <span class="p">{</span>
+<a name="line-357"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">mode</span> <span class="o">==</span> <span class="n">new_mode</span><span class="p">);</span>
+<a name="line-358"></a> <span class="k">return</span> <span class="n">CONFIRM_NO_MODIFICATIONS</span><span class="p">;</span>
+<a name="line-359"></a> <span class="p">}</span>
+<a name="line-360"></a>
+<a name="line-361"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-362"></a> <span class="k">return</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">;</span>
+<a name="line-363"></a><span class="p">}</span>
+<a name="line-364"></a>
+<a name="line-365"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-366"></a><span class="nf">property_page_commit</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-367"></a><span class="p">{</span>
+<a name="line-368"></a> <span class="n">gboolean</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-369"></a> <span class="n">ShareInfo</span> <span class="n">share_info</span><span class="p">;</span>
+<a name="line-370"></a> <span class="n">ConfirmPermissionsStatus</span> <span class="n">status</span><span class="p">;</span>
+<a name="line-371"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-372"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">is_shared</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-375"></a>
+<a name="line-376"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-377"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">share_name</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-378"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">comment</span> <span class="o">=</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">)</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">));</span>
+<a name="line-379"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">));</span>
+<a name="line-380"></a> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">));</span>
+<a name="line-381"></a>
+<a name="line-382"></a> <span class="cm">/* Do we need to unset the write permissions that we added in the past? */</span>
+<a name="line-383"></a> <span class="k">if</span> <span class="p">(</span><span class="n">is_shared</span> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-384"></a> <span class="n">restore_write_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">status</span> <span class="o">=</span> <span class="n">confirm_sharing_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">,</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">guest_ok</span><span class="p">,</span> <span class="n">share_info</span><span class="p">.</span><span class="n">is_writable</span><span class="p">);</span>
+<a name="line-387"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_CANCEL_OR_ERROR</span><span class="p">)</span>
+<a name="line-388"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span> <span class="cm">/* the user didn&#39;t want us to change his folder&#39;s permissions */</span>
+<a name="line-389"></a>
+<a name="line-390"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-391"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">shares_modify_share</span> <span class="p">(</span><span class="n">share_info</span><span class="p">.</span><span class="n">path</span><span class="p">,</span> <span class="n">is_shared</span> <span class="o">?</span> <span class="o">&amp;</span><span class="nl">share_info</span> <span class="p">:</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-392"></a>
+<a name="line-393"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-394"></a> <span class="p">{</span>
+<a name="line-395"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-397"></a>
+<a name="line-398"></a> <span class="cm">/* Since the operation failed, we restore things to the way they were */</span>
+<a name="line-399"></a> <span class="k">if</span> <span class="p">(</span><span class="n">status</span> <span class="o">==</span> <span class="n">CONFIRM_MODIFIED</span><span class="p">)</span>
+<a name="line-400"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-401"></a> <span class="p">}</span>
+<a name="line-402"></a> <span class="k">else</span>
+<a name="line-403"></a> <span class="p">{</span>
+<a name="line-404"></a> <span class="n">property_page_validate_fields</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-405"></a> <span class="n">caja_file_info_invalidate_extension_info</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-406"></a> <span class="p">}</span>
+<a name="line-407"></a>
+<a name="line-408"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shared</span><span class="p">)</span>
+<a name="line-409"></a> <span class="n">restore_saved_permissions</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-410"></a>
+<a name="line-411"></a> <span class="cm">/* update initially shared state, so that we may undo later on */</span>
+<a name="line-412"></a> <span class="k">if</span> <span class="p">(</span><span class="n">retval</span><span class="p">)</span>
+<a name="line-413"></a> <span class="p">{</span>
+<a name="line-414"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">is_shared</span><span class="p">;</span>
+<a name="line-415"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-416"></a> <span class="p">}</span>
+<a name="line-417"></a>
+<a name="line-418"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-419"></a><span class="p">}</span>
+<a name="line-420"></a>
+<a name="line-421"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-422"></a><span class="k">static</span> <span class="n">gchar</span> <span class="o">*</span>
+<a name="line-423"></a><span class="nf">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-424"></a><span class="p">{</span>
+<a name="line-425"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-426"></a> <span class="n">gchar</span> <span class="o">*</span><span class="n">fullpath</span><span class="p">;</span>
+<a name="line-427"></a>
+<a name="line-428"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-429"></a>
+<a name="line-430"></a> <span class="n">file</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-431"></a> <span class="n">fullpath</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-432"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fullpath</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">g_file_is_native</span><span class="p">(</span><span class="n">file</span><span class="p">));</span> <span class="cm">/* In the beginning we checked that this was a local URI */</span>
+<a name="line-433"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">return</span><span class="p">(</span><span class="n">fullpath</span><span class="p">);</span>
+<a name="line-436"></a><span class="p">}</span>
+<a name="line-437"></a>
+<a name="line-438"></a>
+<a name="line-439"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-440"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-441"></a><span class="nf">property_page_set_warning</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-442"></a><span class="p">{</span>
+<a name="line-443"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-444"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-445"></a> <span class="p">{</span>
+<a name="line-446"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-447"></a> <span class="p">}</span>
+<a name="line-448"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-449"></a>
+<a name="line-450"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share name is too long&quot;</span><span class="p">));</span>
+<a name="line-451"></a><span class="p">}</span>
+<a name="line-452"></a>
+<a name="line-453"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-454"></a><span class="nf">property_page_set_error</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<a name="line-455"></a><span class="p">{</span>
+<a name="line-456"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-457"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-458"></a> <span class="p">{</span>
+<a name="line-459"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-460"></a> <span class="p">}</span>
+<a name="line-461"></a> <span class="n">gtk_style_context_add_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-462"></a>
+<a name="line-463"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="n">message</span><span class="p">);</span>
+<a name="line-464"></a><span class="p">}</span>
+<a name="line-465"></a>
+<a name="line-466"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-467"></a><span class="nf">property_page_set_normal</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-468"></a><span class="p">{</span>
+<a name="line-469"></a> <span class="n">GtkStyleContext</span> <span class="o">*</span><span class="n">context</span> <span class="o">=</span> <span class="n">gtk_widget_get_style_context</span> <span class="p">(</span><span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-470"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">))</span>
+<a name="line-471"></a> <span class="p">{</span>
+<a name="line-472"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_WARNING</span><span class="p">);</span>
+<a name="line-473"></a> <span class="p">}</span>
+<a name="line-474"></a>
+<a name="line-475"></a> <span class="k">if</span> <span class="p">(</span><span class="n">gtk_style_context_has_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">))</span>
+<a name="line-476"></a> <span class="p">{</span>
+<a name="line-477"></a> <span class="n">gtk_style_context_remove_class</span> <span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">GTK_STYLE_CLASS_ERROR</span><span class="p">);</span>
+<a name="line-478"></a> <span class="p">}</span>
+<a name="line-479"></a>
+<a name="line-480"></a> <span class="n">gtk_label_set_text</span> <span class="p">(</span><span class="n">GTK_LABEL</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span><span class="p">),</span> <span class="s">&quot;&quot;</span><span class="p">);</span>
+<a name="line-481"></a><span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-484"></a><span class="nf">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-485"></a><span class="p">{</span>
+<a name="line-486"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">newname</span><span class="p">;</span>
+<a name="line-487"></a>
+<a name="line-488"></a> <span class="n">newname</span> <span class="o">=</span> <span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">));</span>
+<a name="line-489"></a>
+<a name="line-490"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strlen</span> <span class="p">(</span><span class="n">newname</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-491"></a> <span class="p">{</span>
+<a name="line-492"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;The share name cannot be empty&quot;</span><span class="p">));</span>
+<a name="line-493"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-494"></a> <span class="p">}</span>
+<a name="line-495"></a> <span class="k">else</span>
+<a name="line-496"></a> <span class="p">{</span>
+<a name="line-497"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-498"></a> <span class="n">gboolean</span> <span class="n">exists</span><span class="p">;</span>
+<a name="line-499"></a>
+<a name="line-500"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-501"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_name_exists</span> <span class="p">(</span><span class="n">newname</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">exists</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-502"></a> <span class="p">{</span>
+<a name="line-503"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-504"></a>
+<a name="line-505"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Error while getting share information: %s&quot;</span><span class="p">),</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-506"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-507"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-508"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-509"></a>
+<a name="line-510"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-511"></a> <span class="p">}</span>
+<a name="line-512"></a>
+<a name="line-513"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exists</span><span class="p">)</span>
+<a name="line-514"></a> <span class="p">{</span>
+<a name="line-515"></a> <span class="n">property_page_set_error</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Another share has the same name&quot;</span><span class="p">));</span>
+<a name="line-516"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-517"></a> <span class="p">}</span>
+<a name="line-518"></a> <span class="k">else</span>
+<a name="line-519"></a> <span class="p">{</span>
+<a name="line-520"></a> <span class="n">property_page_set_normal</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-521"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-522"></a> <span class="p">}</span>
+<a name="line-523"></a> <span class="p">}</span>
+<a name="line-524"></a><span class="p">}</span>
+<a name="line-525"></a>
+<a name="line-526"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-527"></a><span class="nf">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">,</span>
+<a name="line-528"></a> <span class="n">gboolean</span> <span class="n">sensitive</span><span class="p">)</span>
+<a name="line-529"></a><span class="p">{</span>
+<a name="line-530"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">);</span>
+<a name="line-531"></a>
+<a name="line-532"></a> <span class="k">if</span> <span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
+<a name="line-533"></a> <span class="p">{</span>
+<a name="line-534"></a> <span class="n">gboolean</span> <span class="n">guest_ok_allowed</span><span class="p">;</span>
+<a name="line-535"></a> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">guest_ok_allowed</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-536"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">guest_ok_allowed</span><span class="p">);</span>
+<a name="line-537"></a> <span class="p">}</span>
+<a name="line-538"></a> <span class="k">else</span>
+<a name="line-539"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-540"></a><span class="p">}</span>
+<a name="line-541"></a>
+<a name="line-542"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-543"></a><span class="nf">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">)</span>
+<a name="line-544"></a><span class="p">{</span>
+<a name="line-545"></a> <span class="n">gboolean</span> <span class="n">enabled</span><span class="p">;</span>
+<a name="line-546"></a> <span class="n">gboolean</span> <span class="n">apply_is_sensitive</span><span class="p">;</span>
+<a name="line-547"></a>
+<a name="line-548"></a> <span class="n">enabled</span> <span class="o">=</span> <span class="n">gtk_toggle_button_get_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">));</span>
+<a name="line-549"></a> <span class="n">property_page_set_controls_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">,</span> <span class="n">enabled</span><span class="p">);</span>
+<a name="line-550"></a>
+<a name="line-551"></a> <span class="k">if</span> <span class="p">(</span><span class="n">enabled</span><span class="p">)</span>
+<a name="line-552"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">||</span> <span class="o">!</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-553"></a> <span class="k">else</span>
+<a name="line-554"></a> <span class="n">apply_is_sensitive</span> <span class="o">=</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span><span class="p">;</span>
+<a name="line-555"></a>
+<a name="line-556"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">apply_is_sensitive</span><span class="p">);</span>
+<a name="line-557"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span><span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span>
+<a name="line-558"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">?</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">)</span> <span class="o">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">));</span>
+<a name="line-559"></a><span class="p">}</span>
+<a name="line-560"></a>
+<a name="line-561"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-562"></a><span class="nf">modify_share_name_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-563"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-564"></a><span class="p">{</span>
+<a name="line-565"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-568"></a>
+<a name="line-569"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-570"></a>
+<a name="line-571"></a> <span class="cm">/* This function does simple validation on the share name and sets the error</span>
+<a name="line-572"></a><span class="cm"> * label; just let it run and ignore the result value.</span>
+<a name="line-573"></a><span class="cm"> */</span>
+<a name="line-574"></a> <span class="n">property_page_share_name_is_valid</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-575"></a>
+<a name="line-576"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-577"></a><span class="p">}</span>
+<a name="line-578"></a>
+<a name="line-579"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-580"></a><span class="nf">modify_share_comment_text_entry</span> <span class="p">(</span><span class="n">GtkEditable</span> <span class="o">*</span><span class="n">editable</span><span class="p">,</span>
+<a name="line-581"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-582"></a><span class="p">{</span>
+<a name="line-583"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-586"></a>
+<a name="line-587"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-588"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-589"></a><span class="p">}</span>
+<a name="line-590"></a>
+<a name="line-591"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-592"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-593"></a><span class="nf">on_checkbutton_share_folder_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-594"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-595"></a><span class="p">{</span>
+<a name="line-596"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-597"></a>
+<a name="line-598"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-599"></a>
+<a name="line-600"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-601"></a><span class="p">}</span>
+<a name="line-602"></a>
+<a name="line-603"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-604"></a><span class="nf">on_checkbutton_rw_ro_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-605"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-606"></a><span class="p">{</span>
+<a name="line-607"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-610"></a>
+<a name="line-611"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-612"></a>
+<a name="line-613"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-614"></a><span class="p">}</span>
+<a name="line-615"></a>
+<a name="line-616"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-617"></a><span class="nf">on_checkbutton_guest_ok_toggled</span> <span class="p">(</span><span class="n">GtkToggleButton</span> <span class="o">*</span><span class="n">togglebutton</span><span class="p">,</span>
+<a name="line-618"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-619"></a><span class="p">{</span>
+<a name="line-620"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">user_data</span><span class="p">;</span>
+<a name="line-623"></a>
+<a name="line-624"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">is_dirty</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-625"></a>
+<a name="line-626"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-627"></a><span class="p">}</span>
+<a name="line-628"></a>
+<a name="line-629"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-630"></a><span class="nf">free_property_page_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-631"></a><span class="p">{</span>
+<a name="line-632"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-633"></a>
+<a name="line-634"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-635"></a>
+<a name="line-636"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-637"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-638"></a> <span class="n">g_object_unref</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">);</span>
+<a name="line-639"></a>
+<a name="line-640"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-641"></a><span class="p">}</span>
+<a name="line-642"></a>
+<a name="line-643"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-644"></a><span class="nf">button_apply_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span>
+<a name="line-645"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-646"></a><span class="p">{</span>
+<a name="line-647"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-648"></a>
+<a name="line-649"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-650"></a>
+<a name="line-651"></a> <span class="k">if</span> <span class="p">(</span><span class="n">property_page_commit</span> <span class="p">(</span><span class="n">page</span><span class="p">))</span>
+<a name="line-652"></a> <span class="p">{</span>
+<a name="line-653"></a> <span class="k">if</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">)</span>
+<a name="line-654"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span><span class="p">);</span>
+<a name="line-655"></a> <span class="k">else</span>
+<a name="line-656"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-657"></a> <span class="p">}</span>
+<a name="line-658"></a><span class="p">}</span>
+<a name="line-659"></a>
+<a name="line-660"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-661"></a><span class="k">static</span> <span class="n">PropertyPage</span> <span class="o">*</span>
+<a name="line-662"></a><span class="nf">create_property_page</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">)</span>
+<a name="line-663"></a><span class="p">{</span>
+<a name="line-664"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-665"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-666"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-667"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-668"></a> <span class="n">gboolean</span> <span class="n">free_share_name</span><span class="p">;</span>
+<a name="line-669"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-670"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">apply_button_label</span><span class="p">;</span>
+<a name="line-671"></a>
+<a name="line-672"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">g_new0</span> <span class="p">(</span><span class="n">PropertyPage</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-673"></a>
+<a name="line-674"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">get_fullpath_from_fileinfo</span><span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-675"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">fileinfo</span> <span class="o">=</span> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-678"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span>
+<a name="line-679"></a> <span class="p">{</span>
+<a name="line-680"></a> <span class="cm">/* We&#39;ll assume that there is no share for that path, but we&#39;ll still</span>
+<a name="line-681"></a><span class="cm"> * bring up an error dialog.</span>
+<a name="line-682"></a><span class="cm"> */</span>
+<a name="line-683"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">gtk_message_dialog_new</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">GTK_DIALOG_MODAL</span><span class="p">,</span> <span class="n">GTK_MESSAGE_ERROR</span><span class="p">,</span> <span class="n">GTK_BUTTONS_CLOSE</span><span class="p">,</span>
+<a name="line-686"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;There was an error while getting the sharing information&quot;</span><span class="p">));</span>
+<a name="line-687"></a> <span class="n">gtk_message_dialog_format_secondary_text</span> <span class="p">(</span><span class="n">GTK_MESSAGE_DIALOG</span> <span class="p">(</span><span class="n">message</span><span class="p">),</span> <span class="s">&quot;%s&quot;</span><span class="p">,</span> <span class="n">error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-688"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-689"></a>
+<a name="line-690"></a> <span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-691"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-692"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="p">}</span>
+<a name="line-694"></a>
+<a name="line-695"></a>
+<a name="line-696"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span> <span class="o">=</span> <span class="n">gtk_builder_new</span> <span class="p">();</span>
+<a name="line-697"></a> <span class="n">gtk_builder_set_translation_domain</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="n">GETTEXT_PACKAGE</span><span class="p">);</span>
+<a name="line-698"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">gtk_builder_add_from_file</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span>
+<a name="line-699"></a> <span class="n">INTERFACES_DIR</span><span class="s">&quot;/share-dialog.ui&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<a name="line-700"></a>
+<a name="line-701"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span> <span class="s">&quot;vbox1&quot;</span><span class="p">));</span>
+<a name="line-702"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-703"></a>
+<a name="line-704"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">),</span>
+<a name="line-705"></a> <span class="s">&quot;PropertyPage&quot;</span><span class="p">,</span>
+<a name="line-706"></a> <span class="n">page</span><span class="p">,</span>
+<a name="line-707"></a> <span class="n">free_property_page_cb</span><span class="p">);</span>
+<a name="line-708"></a>
+<a name="line-709"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_folder&quot;</span><span class="p">));</span>
+<a name="line-710"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;box_share_content&quot;</span><span class="p">));</span>
+<a name="line-711"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_rw_ro&quot;</span><span class="p">));</span>
+<a name="line-712"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;checkbutton_share_guest_ok&quot;</span><span class="p">));</span>
+<a name="line-713"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_name&quot;</span><span class="p">));</span>
+<a name="line-714"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;entry_share_comment&quot;</span><span class="p">));</span>
+<a name="line-715"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;label_status&quot;</span><span class="p">));</span>
+<a name="line-716"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_cancel&quot;</span><span class="p">));</span>
+<a name="line-717"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">gtk_builder_get_object</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">ui</span><span class="p">,</span><span class="s">&quot;button_apply&quot;</span><span class="p">));</span>
+<a name="line-718"></a>
+<a name="line-719"></a> <span class="cm">/* Sanity check so that we don&#39;t screw up the Glade file */</span>
+<a name="line-720"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-721"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">box_share_content</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-722"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-723"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-724"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-725"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-726"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">label_status</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-727"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span> <span class="o">!=</span> <span class="nb">NULL</span>
+<a name="line-728"></a> <span class="o">&amp;&amp;</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-729"></a>
+<a name="line-730"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- First condition</span>
+</span><a name="line-731"></a> <span class="p">{</span>
+<a name="line-732"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_initially_shared</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-733"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">was_writable</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-734"></a> <span class="p">}</span>
+<a name="line-735"></a>
+<a name="line-736"></a> <span class="cm">/* Share name */</span>
+<a name="line-737"></a>
+<a name="line-738"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span><span class='error2'>&lt;--- Second condition</span>
+</span><a name="line-739"></a> <span class="p">{</span>
+<a name="line-740"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-741"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-742"></a> <span class="p">}</span>
+<a name="line-743"></a> <span class="k">else</span>
+<a name="line-744"></a> <span class="p">{</span>
+<a name="line-745"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">g_filename_display_basename</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-746"></a> <span class="n">free_share_name</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-747"></a> <span class="p">}</span>
+<a name="line-748"></a>
+<a name="line-749"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">),</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-750"></a>
+<a name="line-751"></a> <span class="k">if</span> <span class="p">(</span><span class="n">free_share_name</span><span class="p">)</span>
+<a name="line-752"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-753"></a>
+<a name="line-754"></a> <span class="cm">/* Comment */</span>
+<a name="line-755"></a>
+<a name="line-756"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-757"></a> <span class="n">comment</span> <span class="o">=</span> <span class="s">&quot;&quot;</span><span class="p">;</span>
+<a name="line-758"></a> <span class="k">else</span>
+<a name="line-759"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-760"></a>
+<a name="line-761"></a> <span class="n">gtk_entry_set_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">),</span> <span class="n">comment</span><span class="p">);</span>
+<a name="line-762"></a>
+<a name="line-763"></a> <span class="cm">/* Share toggle */</span>
+<a name="line-764"></a>
+<a name="line-765"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-766"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-767"></a> <span class="k">else</span>
+<a name="line-768"></a> <span class="p">{</span>
+<a name="line-769"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-770"></a> <span class="p">}</span>
+<a name="line-771"></a>
+<a name="line-772"></a> <span class="cm">/* Share name */</span>
+<a name="line-773"></a>
+<a name="line-774"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_utf8_strlen</span><span class="p">(</span><span class="n">gtk_entry_get_text</span> <span class="p">(</span><span class="n">GTK_ENTRY</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">)),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">12</span><span class="p">)</span>
+<a name="line-775"></a> <span class="n">property_page_set_warning</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-776"></a>
+<a name="line-777"></a> <span class="cm">/* Permissions */</span>
+<a name="line-778"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-779"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-780"></a> <span class="k">else</span>
+<a name="line-781"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-782"></a>
+<a name="line-783"></a> <span class="cm">/* Guest access */</span>
+<a name="line-784"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">share_info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">)</span>
+<a name="line-785"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-786"></a> <span class="k">else</span>
+<a name="line-787"></a> <span class="n">gtk_toggle_button_set_active</span> <span class="p">(</span><span class="n">GTK_TOGGLE_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">),</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-788"></a>
+<a name="line-789"></a> <span class="cm">/* Apply button */</span>
+<a name="line-790"></a>
+<a name="line-791"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-792"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Modify _Share&quot;</span><span class="p">);</span>
+<a name="line-793"></a> <span class="k">else</span>
+<a name="line-794"></a> <span class="n">apply_button_label</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Create _Share&quot;</span><span class="p">);</span>
+<a name="line-795"></a>
+<a name="line-796"></a> <span class="n">gtk_button_set_label</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">apply_button_label</span><span class="p">);</span>
+<a name="line-797"></a> <span class="n">gtk_button_set_use_underline</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">TRUE</span><span class="p">);</span>
+<a name="line-798"></a> <span class="n">gtk_button_set_image</span> <span class="p">(</span><span class="n">GTK_BUTTON</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">),</span> <span class="n">gtk_image_new_from_icon_name</span> <span class="p">(</span><span class="s">&quot;document-save&quot;</span><span class="p">,</span> <span class="n">GTK_ICON_SIZE_BUTTON</span><span class="p">));</span>
+<a name="line-799"></a>
+<a name="line-800"></a> <span class="n">gtk_widget_set_sensitive</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="n">FALSE</span><span class="p">);</span>
+<a name="line-801"></a>
+<a name="line-802"></a> <span class="cm">/* Sensitivity */</span>
+<a name="line-803"></a>
+<a name="line-804"></a> <span class="n">property_page_check_sensitivity</span> <span class="p">(</span><span class="n">page</span><span class="p">);</span>
+<a name="line-805"></a>
+<a name="line-806"></a> <span class="cm">/* Signal handlers */</span>
+<a name="line-807"></a>
+<a name="line-808"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_folder</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-809"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_share_folder_toggled</span><span class="p">),</span>
+<a name="line-810"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_rw_ro</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-813"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_rw_ro_toggled</span><span class="p">),</span>
+<a name="line-814"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-815"></a>
+<a name="line-816"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">checkbutton_share_guest_ok</span><span class="p">,</span> <span class="s">&quot;toggled&quot;</span><span class="p">,</span>
+<a name="line-817"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">on_checkbutton_guest_ok_toggled</span><span class="p">),</span>
+<a name="line-818"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-819"></a>
+<a name="line-820"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_name</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-821"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_name_text_entry</span><span class="p">),</span>
+<a name="line-822"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-823"></a>
+<a name="line-824"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">entry_share_comment</span><span class="p">,</span> <span class="s">&quot;changed&quot;</span><span class="p">,</span>
+<a name="line-825"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">modify_share_comment_text_entry</span><span class="p">),</span>
+<a name="line-826"></a> <span class="n">page</span><span class="p">);</span>
+<a name="line-827"></a>
+<a name="line-828"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_apply</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-829"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_apply_clicked_cb</span><span class="p">),</span> <span class="n">page</span><span class="p">);</span>
+<a name="line-830"></a>
+<a name="line-831"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-832"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="k">return</span> <span class="n">page</span><span class="p">;</span>
+<a name="line-835"></a><span class="p">}</span>
+<a name="line-836"></a>
+<a name="line-837"></a><span class="cm">/* Implementation of the CajaInfoProvider interface */</span>
+<a name="line-838"></a>
+<a name="line-839"></a><span class="cm">/* caja_info_provider_update_file_info</span>
+<a name="line-840"></a><span class="cm"> * This function is called by Caja when it wants the extension to</span>
+<a name="line-841"></a><span class="cm"> * fill in data about the file. It passes a CajaFileInfo object,</span>
+<a name="line-842"></a><span class="cm"> * which the extension can use to read data from the file, and which</span>
+<a name="line-843"></a><span class="cm"> * the extension should add data to.</span>
+<a name="line-844"></a><span class="cm"> *</span>
+<a name="line-845"></a><span class="cm"> * If the data can be added immediately (without doing blocking IO),</span>
+<a name="line-846"></a><span class="cm"> * the extension can do so, and return CAJA_OPERATION_COMPLETE.</span>
+<a name="line-847"></a><span class="cm"> * In this case the &#39;update_complete&#39; and &#39;handle&#39; parameters can be</span>
+<a name="line-848"></a><span class="cm"> * ignored.</span>
+<a name="line-849"></a><span class="cm"> *</span>
+<a name="line-850"></a><span class="cm"> * If waiting for the deata would block the UI, the extension should</span>
+<a name="line-851"></a><span class="cm"> * perform the task asynchronously, and return</span>
+<a name="line-852"></a><span class="cm"> * CAJA_OPERATION_IN_PROGRESS. The function must also set the</span>
+<a name="line-853"></a><span class="cm"> * &#39;handle&#39; pointer to a value unique to the object, and invoke the</span>
+<a name="line-854"></a><span class="cm"> * &#39;update_complete&#39; closure when the update is done.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * If the extension encounters an error, it should return</span>
+<a name="line-857"></a><span class="cm"> * CAJA_OPERATION_FAILED.</span>
+<a name="line-858"></a><span class="cm"> */</span>
+<a name="line-859"></a><span class="k">typedef</span> <span class="k">struct</span> <span class="p">{</span>
+<a name="line-860"></a> <span class="n">gboolean</span> <span class="n">cancelled</span><span class="p">;</span>
+<a name="line-861"></a> <span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">;</span>
+<a name="line-862"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">;</span>
+<a name="line-863"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">;</span>
+<a name="line-864"></a><span class="p">}</span> <span class="n">CajaShareHandle</span><span class="p">;</span>
+<a name="line-865"></a>
+<a name="line-866"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-867"></a><span class="nf">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-868"></a><span class="p">{</span>
+<a name="line-869"></a> <span class="n">CajaShareStatus</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-870"></a>
+<a name="line-871"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-872"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-873"></a> <span class="k">else</span>
+<a name="line-874"></a> <span class="p">{</span>
+<a name="line-875"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span>
+<a name="line-876"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RW</span><span class="p">;</span>
+<a name="line-877"></a> <span class="k">else</span>
+<a name="line-878"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">CAJA_SHARE_SHARED_RO</span><span class="p">;</span>
+<a name="line-879"></a>
+<a name="line-880"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-881"></a> <span class="p">}</span>
+<a name="line-882"></a>
+<a name="line-883"></a> <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-884"></a><span class="p">}</span>
+<a name="line-885"></a>
+<a name="line-886"></a>
+<a name="line-887"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-888"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-889"></a><span class="nf">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">share_info</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-890"></a><span class="p">{</span>
+<a name="line-891"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">uri</span><span class="p">;</span>
+<a name="line-892"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">local_path</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-893"></a> <span class="n">GFile</span> <span class="o">*</span><span class="n">f</span><span class="p">;</span>
+<a name="line-894"></a>
+<a name="line-895"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-896"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-897"></a>
+<a name="line-898"></a> <span class="n">uri</span> <span class="o">=</span> <span class="n">caja_file_info_get_uri</span> <span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">f</span> <span class="o">=</span> <span class="n">caja_file_info_get_location</span><span class="p">(</span><span class="n">file</span><span class="p">);</span>
+<a name="line-900"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">uri</span><span class="p">)</span>
+<a name="line-901"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-902"></a>
+<a name="line-903"></a><span class="cp">#define NETWORK_SHARE_PREFIX &quot;network:</span><span class="c1">///share-&quot;</span>
+<a name="line-904"></a>
+<a name="line-905"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_str_has_prefix</span> <span class="p">(</span><span class="n">uri</span><span class="p">,</span> <span class="n">NETWORK_SHARE_PREFIX</span><span class="p">))</span>
+<a name="line-906"></a> <span class="p">{</span>
+<a name="line-907"></a> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="n">share_name</span> <span class="o">=</span> <span class="n">uri</span> <span class="o">+</span> <span class="n">strlen</span> <span class="p">(</span><span class="n">NETWORK_SHARE_PREFIX</span><span class="p">);</span>
+<a name="line-910"></a>
+<a name="line-911"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-912"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-913"></a> <span class="p">{</span>
+<a name="line-914"></a> <span class="o">*</span><span class="n">share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-915"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span> <span class="cm">/* it *has* the prefix, anyway... we are just unsynchronized with what mate-vfs thinks */</span>
+<a name="line-916"></a> <span class="p">}</span>
+<a name="line-917"></a> <span class="k">else</span>
+<a name="line-918"></a> <span class="p">{</span>
+<a name="line-919"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-920"></a> <span class="p">}</span>
+<a name="line-921"></a>
+<a name="line-922"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-923"></a> <span class="p">}</span>
+<a name="line-924"></a>
+<a name="line-925"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">caja_file_info_is_directory</span><span class="p">(</span><span class="n">file</span><span class="p">))</span>
+<a name="line-926"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-927"></a>
+<a name="line-928"></a> <span class="n">local_path</span> <span class="o">=</span> <span class="n">g_file_get_path</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-929"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">local_path</span> <span class="o">||</span> <span class="o">!</span><span class="n">g_file_is_native</span><span class="p">(</span><span class="n">f</span><span class="p">))</span>
+<a name="line-930"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-931"></a>
+<a name="line-932"></a> <span class="cm">/* FIXME: NULL GError */</span>
+<a name="line-933"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">shares_get_share_info_for_path</span> <span class="p">(</span><span class="n">local_path</span><span class="p">,</span> <span class="n">share_info</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span>
+<a name="line-934"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-935"></a>
+<a name="line-936"></a> <span class="o">*</span><span class="n">is_shareable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-937"></a>
+<a name="line-938"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-939"></a>
+<a name="line-940"></a> <span class="n">g_object_unref</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
+<a name="line-941"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">uri</span><span class="p">);</span>
+<a name="line-942"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">local_path</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-946"></a><span class="k">static</span> <span class="n">CajaShareStatus</span>
+<a name="line-947"></a><span class="nf">file_get_share_status_file</span><span class="p">(</span><span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">)</span>
+<a name="line-948"></a><span class="p">{</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-953"></a>
+<a name="line-954"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-955"></a> <span class="k">return</span> <span class="n">CAJA_SHARE_NOT_SHARED</span><span class="p">;</span>
+<a name="line-956"></a>
+<a name="line-957"></a> <span class="k">return</span> <span class="n">get_share_status_and_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-958"></a><span class="p">}</span>
+<a name="line-959"></a>
+<a name="line-960"></a><span class="k">static</span> <span class="n">CajaOperationResult</span>
+<a name="line-961"></a><span class="nf">caja_share_update_file_info</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-962"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">file</span><span class="p">,</span>
+<a name="line-963"></a> <span class="n">GClosure</span> <span class="o">*</span><span class="n">update_complete</span><span class="p">,</span>
+<a name="line-964"></a> <span class="n">CajaOperationHandle</span> <span class="o">**</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-965"></a><span class="p">{</span>
+<a name="line-966"></a><span class="cm">/* gchar *share_status = NULL; */</span>
+<a name="line-967"></a>
+<a name="line-968"></a> <span class="k">switch</span> <span class="p">(</span><span class="n">file_get_share_status_file</span> <span class="p">(</span><span class="n">file</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-969"></a>
+<a name="line-970"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RO</span><span class="p">:</span>
+<a name="line-971"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-972"></a><span class="cm">/* share_status = _(&quot;shared (read only)&quot;); */</span>
+<a name="line-973"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-974"></a>
+<a name="line-975"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_SHARED_RW</span><span class="p">:</span>
+<a name="line-976"></a> <span class="n">caja_file_info_add_emblem</span> <span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s">&quot;shared&quot;</span><span class="p">);</span>
+<a name="line-977"></a><span class="cm">/* share_status = _(&quot;shared (read and write)&quot;); */</span>
+<a name="line-978"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-979"></a>
+<a name="line-980"></a> <span class="k">case</span> <span class="nl">CAJA_SHARE_NOT_SHARED</span><span class="p">:</span>
+<a name="line-981"></a><span class="cm">/* share_status = _(&quot;not shared&quot;); */</span>
+<a name="line-982"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-983"></a>
+<a name="line-984"></a> <span class="k">default</span><span class="o">:</span>
+<a name="line-985"></a> <span class="n">g_assert_not_reached</span> <span class="p">();</span>
+<a name="line-986"></a> <span class="k">break</span><span class="p">;</span>
+<a name="line-987"></a> <span class="p">}</span>
+<a name="line-988"></a>
+<a name="line-989"></a><span class="cm">/* caja_file_info_add_string_attribute (file, */</span>
+<a name="line-990"></a><span class="cm">/* &quot;CajaShare::share_status&quot;, */</span>
+<a name="line-991"></a><span class="cm">/* share_status); */</span>
+<a name="line-992"></a> <span class="k">return</span> <span class="n">CAJA_OPERATION_COMPLETE</span><span class="p">;</span>
+<a name="line-993"></a><span class="p">}</span>
+<a name="line-994"></a>
+<a name="line-995"></a>
+<a name="line-996"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-997"></a><span class="nf">caja_share_cancel_update</span> <span class="p">(</span><span class="n">CajaInfoProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-998"></a> <span class="n">CajaOperationHandle</span> <span class="o">*</span><span class="n">handle</span><span class="p">)</span>
+<a name="line-999"></a><span class="p">{</span>
+<a name="line-1000"></a> <span class="n">CajaShareHandle</span> <span class="o">*</span><span class="n">share_handle</span><span class="p">;</span>
+<a name="line-1001"></a>
+<a name="line-1002"></a> <span class="n">share_handle</span> <span class="o">=</span> <span class="p">(</span><span class="n">CajaShareHandle</span><span class="o">*</span><span class="p">)</span><span class="n">handle</span><span class="p">;</span>
+<a name="line-1003"></a> <span class="n">share_handle</span><span class="o">-&gt;</span><span class="n">cancelled</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">caja_share_info_provider_iface_init</span> <span class="p">(</span><span class="n">CajaInfoProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1008"></a><span class="p">{</span>
+<a name="line-1009"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">update_file_info</span> <span class="o">=</span> <span class="n">caja_share_update_file_info</span><span class="p">;</span>
+<a name="line-1010"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">cancel_update</span> <span class="o">=</span> <span class="n">caja_share_cancel_update</span><span class="p">;</span>
+<a name="line-1011"></a><span class="p">}</span>
+<a name="line-1012"></a>
+<a name="line-1013"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1014"></a><span class="cm">/* caja_property_page_provider_get_pages</span>
+<a name="line-1015"></a><span class="cm"> *</span>
+<a name="line-1016"></a><span class="cm"> * This function is called by Caja when it wants property page</span>
+<a name="line-1017"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1018"></a><span class="cm"> *</span>
+<a name="line-1019"></a><span class="cm"> * This function is called in the main thread before a property page</span>
+<a name="line-1020"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1021"></a><span class="cm"> *</span>
+<a name="line-1022"></a><span class="cm"> * The function should return a GList of allocated CajaPropertyPage</span>
+<a name="line-1023"></a><span class="cm"> * items.</span>
+<a name="line-1024"></a><span class="cm"> */</span>
+<a name="line-1025"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1026"></a><span class="nf">caja_share_get_property_pages</span> <span class="p">(</span><span class="n">CajaPropertyPageProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1027"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1028"></a><span class="p">{</span>
+<a name="line-1029"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1030"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">pages</span><span class="p">;</span>
+<a name="line-1031"></a> <span class="n">CajaPropertyPage</span> <span class="o">*</span><span class="n">np_page</span><span class="p">;</span>
+<a name="line-1032"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1033"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1034"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1035"></a>
+<a name="line-1036"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1037"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1038"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1039"></a> <span class="p">}</span>
+<a name="line-1040"></a>
+<a name="line-1041"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1042"></a>
+<a name="line-1043"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1044"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1045"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1046"></a>
+<a name="line-1047"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1048"></a> <span class="n">gtk_widget_hide</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">);</span>
+<a name="line-1049"></a>
+<a name="line-1050"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1051"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1052"></a>
+<a name="line-1053"></a> <span class="n">pages</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1054"></a> <span class="n">np_page</span> <span class="o">=</span> <span class="n">caja_property_page_new</span>
+<a name="line-1055"></a> <span class="p">(</span><span class="s">&quot;CajaShare::property_page&quot;</span><span class="p">,</span>
+<a name="line-1056"></a> <span class="n">gtk_label_new</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Share&quot;</span><span class="p">)),</span>
+<a name="line-1057"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1058"></a> <span class="n">pages</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="n">pages</span><span class="p">,</span> <span class="n">np_page</span><span class="p">);</span>
+<a name="line-1059"></a>
+<a name="line-1060"></a> <span class="k">return</span> <span class="n">pages</span><span class="p">;</span>
+<a name="line-1061"></a><span class="p">}</span>
+<a name="line-1062"></a>
+<a name="line-1063"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1064"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1065"></a><span class="nf">caja_share_property_page_provider_iface_init</span> <span class="p">(</span><span class="n">CajaPropertyPageProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1066"></a><span class="p">{</span>
+<a name="line-1067"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_pages</span> <span class="o">=</span> <span class="n">caja_share_get_property_pages</span><span class="p">;</span>
+<a name="line-1068"></a><span class="p">}</span>
+<a name="line-1069"></a>
+<a name="line-1070"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1071"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1072"></a><span class="nf">caja_share_instance_init</span> <span class="p">(</span><span class="n">CajaShare</span> <span class="o">*</span><span class="n">share</span><span class="p">)</span>
+<a name="line-1073"></a><span class="p">{</span>
+<a name="line-1074"></a><span class="p">}</span>
+<a name="line-1075"></a>
+<a name="line-1076"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1077"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1078"></a><span class="nf">caja_share_class_init</span> <span class="p">(</span><span class="n">CajaShareClass</span> <span class="o">*</span><span class="n">class</span><span class="p">)</span>
+<a name="line-1079"></a><span class="p">{</span>
+<a name="line-1080"></a> <span class="n">parent_class</span> <span class="o">=</span> <span class="n">g_type_class_peek_parent</span> <span class="p">(</span><span class="n">class</span><span class="p">);</span>
+<a name="line-1081"></a><span class="p">}</span>
+<a name="line-1082"></a>
+<a name="line-1083"></a><span class="cm">/* caja_menu_provider_get_file_items</span>
+<a name="line-1084"></a><span class="cm"> *</span>
+<a name="line-1085"></a><span class="cm"> * This function is called by Caja when it wants context menu</span>
+<a name="line-1086"></a><span class="cm"> * items from the extension.</span>
+<a name="line-1087"></a><span class="cm"> *</span>
+<a name="line-1088"></a><span class="cm"> * This function is called in the main thread before a context menu</span>
+<a name="line-1089"></a><span class="cm"> * is shown, so it should return quickly.</span>
+<a name="line-1090"></a><span class="cm"> *</span>
+<a name="line-1091"></a><span class="cm"> * The function should return a GList of allocated CajaMenuItem</span>
+<a name="line-1092"></a><span class="cm"> * items.</span>
+<a name="line-1093"></a><span class="cm"> */</span>
+<a name="line-1094"></a>
+<a name="line-1095"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1096"></a><span class="nf">button_cancel_clicked_cb</span> <span class="p">(</span><span class="n">GtkButton</span> <span class="o">*</span><span class="n">button</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-1097"></a><span class="p">{</span>
+<a name="line-1098"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">;</span>
+<a name="line-1099"></a>
+<a name="line-1100"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">GTK_WIDGET</span> <span class="p">(</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1101"></a> <span class="n">gtk_widget_destroy</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1102"></a><span class="p">}</span>
+<a name="line-1103"></a>
+<a name="line-1104"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1105"></a><span class="nf">share_this_folder_callback</span> <span class="p">(</span><span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span>
+<a name="line-1106"></a> <span class="n">gpointer</span> <span class="n">user_data</span><span class="p">)</span>
+<a name="line-1107"></a><span class="p">{</span>
+<a name="line-1108"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1109"></a> <span class="n">PropertyPage</span> <span class="o">*</span><span class="n">page</span><span class="p">;</span>
+<a name="line-1110"></a> <span class="n">GtkWidget</span> <span class="o">*</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1111"></a>
+<a name="line-1112"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">user_data</span><span class="p">);</span>
+<a name="line-1113"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">fileinfo</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-1114"></a>
+<a name="line-1115"></a> <span class="n">window</span> <span class="o">=</span> <span class="n">gtk_window_new</span> <span class="p">(</span><span class="n">GTK_WINDOW_TOPLEVEL</span><span class="p">);</span>
+<a name="line-1116"></a> <span class="n">gtk_window_set_title</span> <span class="p">(</span><span class="n">GTK_WINDOW</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Folder Sharing&quot;</span><span class="p">));</span>
+<a name="line-1117"></a> <span class="n">page</span> <span class="o">=</span> <span class="n">create_property_page</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1118"></a> <span class="n">page</span><span class="o">-&gt;</span><span class="n">standalone_window</span> <span class="o">=</span> <span class="n">window</span><span class="p">;</span>
+<a name="line-1119"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">page</span><span class="o">-&gt;</span><span class="n">button_cancel</span><span class="p">,</span> <span class="s">&quot;clicked&quot;</span><span class="p">,</span>
+<a name="line-1120"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">button_cancel_clicked_cb</span><span class="p">),</span> <span class="n">window</span><span class="p">);</span>
+<a name="line-1121"></a>
+<a name="line-1122"></a> <span class="n">gtk_container_add</span> <span class="p">(</span><span class="n">GTK_CONTAINER</span> <span class="p">(</span><span class="n">window</span><span class="p">),</span> <span class="n">page</span><span class="o">-&gt;</span><span class="n">main</span><span class="p">);</span>
+<a name="line-1123"></a> <span class="n">gtk_widget_show</span> <span class="p">(</span><span class="n">window</span><span class="p">);</span>
+<a name="line-1124"></a><span class="p">}</span>
+<a name="line-1125"></a>
+<a name="line-1126"></a><span class="k">static</span> <span class="n">GList</span> <span class="o">*</span>
+<a name="line-1127"></a><span class="nf">caja_share_get_file_items</span> <span class="p">(</span><span class="n">CajaMenuProvider</span> <span class="o">*</span><span class="n">provider</span><span class="p">,</span>
+<a name="line-1128"></a> <span class="n">GtkWidget</span> <span class="o">*</span><span class="n">window</span><span class="p">,</span>
+<a name="line-1129"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">files</span><span class="p">)</span>
+<a name="line-1130"></a><span class="p">{</span>
+<a name="line-1131"></a> <span class="n">GList</span> <span class="o">*</span><span class="n">items</span><span class="p">;</span>
+<a name="line-1132"></a> <span class="n">CajaMenuItem</span> <span class="o">*</span><span class="n">item</span><span class="p">;</span>
+<a name="line-1133"></a> <span class="n">CajaFileInfo</span> <span class="o">*</span><span class="n">fileinfo</span><span class="p">;</span>
+<a name="line-1134"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">share_info</span><span class="p">;</span>
+<a name="line-1135"></a> <span class="n">gboolean</span> <span class="n">is_shareable</span><span class="p">;</span>
+<a name="line-1136"></a>
+<a name="line-1137"></a> <span class="cm">/* Only show the property page if 1 file is selected */</span>
+<a name="line-1138"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">files</span> <span class="o">||</span> <span class="n">files</span><span class="o">-&gt;</span><span class="n">next</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1139"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1140"></a> <span class="p">}</span>
+<a name="line-1141"></a>
+<a name="line-1142"></a> <span class="n">fileinfo</span> <span class="o">=</span> <span class="n">CAJA_FILE_INFO</span> <span class="p">(</span><span class="n">files</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1143"></a>
+<a name="line-1144"></a> <span class="n">get_share_info_for_file_info</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">share_info</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">is_shareable</span><span class="p">);</span>
+<a name="line-1145"></a>
+<a name="line-1146"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">is_shareable</span><span class="p">)</span>
+<a name="line-1147"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-1148"></a>
+<a name="line-1149"></a> <span class="k">if</span> <span class="p">(</span><span class="n">share_info</span><span class="p">)</span>
+<a name="line-1150"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">share_info</span><span class="p">);</span>
+<a name="line-1151"></a>
+<a name="line-1152"></a> <span class="cm">/* We don&#39;t own a reference to the file info to keep it around, so acquire one */</span>
+<a name="line-1153"></a> <span class="n">g_object_ref</span> <span class="p">(</span><span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1154"></a>
+<a name="line-1155"></a> <span class="cm">/* FMQ: change the label to &quot;Share with Windows users&quot;? */</span>
+<a name="line-1156"></a> <span class="n">item</span> <span class="o">=</span> <span class="n">caja_menu_item_new</span> <span class="p">(</span><span class="s">&quot;CajaShare::share&quot;</span><span class="p">,</span>
+<a name="line-1157"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Sharing Options&quot;</span><span class="p">),</span>
+<a name="line-1158"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Share this Folder&quot;</span><span class="p">),</span>
+<a name="line-1159"></a> <span class="s">&quot;folder-remote&quot;</span><span class="p">);</span>
+<a name="line-1160"></a> <span class="n">g_signal_connect</span> <span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s">&quot;activate&quot;</span><span class="p">,</span>
+<a name="line-1161"></a> <span class="n">G_CALLBACK</span> <span class="p">(</span><span class="n">share_this_folder_callback</span><span class="p">),</span>
+<a name="line-1162"></a> <span class="n">fileinfo</span><span class="p">);</span>
+<a name="line-1163"></a> <span class="n">g_object_set_data_full</span> <span class="p">(</span><span class="n">G_OBJECT</span> <span class="p">(</span><span class="n">item</span><span class="p">),</span>
+<a name="line-1164"></a> <span class="s">&quot;files&quot;</span><span class="p">,</span>
+<a name="line-1165"></a> <span class="n">fileinfo</span><span class="p">,</span>
+<a name="line-1166"></a> <span class="n">g_object_unref</span><span class="p">);</span> <span class="cm">/* Release our reference when the menu item goes away */</span>
+<a name="line-1167"></a>
+<a name="line-1168"></a> <span class="n">items</span> <span class="o">=</span> <span class="n">g_list_append</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="n">item</span><span class="p">);</span>
+<a name="line-1169"></a> <span class="k">return</span> <span class="n">items</span><span class="p">;</span>
+<a name="line-1170"></a><span class="p">}</span>
+<a name="line-1171"></a>
+<a name="line-1172"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1173"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1174"></a><span class="nf">caja_share_menu_provider_iface_init</span> <span class="p">(</span><span class="n">CajaMenuProviderIface</span> <span class="o">*</span><span class="n">iface</span><span class="p">)</span>
+<a name="line-1175"></a><span class="p">{</span>
+<a name="line-1176"></a> <span class="n">iface</span><span class="o">-&gt;</span><span class="n">get_file_items</span> <span class="o">=</span> <span class="n">caja_share_get_file_items</span><span class="p">;</span>
+<a name="line-1177"></a><span class="p">}</span>
+<a name="line-1178"></a>
+<a name="line-1179"></a><span class="cm">/*--------------------------------------------------------------------------*/</span>
+<a name="line-1180"></a><span class="cm">/* Type registration. Because this type is implemented in a module</span>
+<a name="line-1181"></a><span class="cm"> * that can be unloaded, we separate type registration from get_type().</span>
+<a name="line-1182"></a><span class="cm"> * the type_register() function will be called by the module&#39;s</span>
+<a name="line-1183"></a><span class="cm"> * initialization function. */</span>
+<a name="line-1184"></a><span class="k">static</span> <span class="n">GType</span> <span class="n">share_type</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+<a name="line-1185"></a>
+<a name="line-1186"></a><span class="cp">#define CAJA_TYPE_SHARE (caja_share_get_type ())</span>
+<a name="line-1187"></a>
+<a name="line-1188"></a><span class="k">static</span> <span class="n">GType</span>
+<a name="line-1189"></a><span class="nf">caja_share_get_type</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1190"></a><span class="p">{</span>
+<a name="line-1191"></a> <span class="k">return</span> <span class="n">share_type</span><span class="p">;</span>
+<a name="line-1192"></a><span class="p">}</span>
+<a name="line-1193"></a>
+<a name="line-1194"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-1195"></a><span class="nf">caja_share_register_type</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1196"></a><span class="p">{</span>
+<a name="line-1197"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GTypeInfo</span> <span class="n">info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1198"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShareClass</span><span class="p">),</span>
+<a name="line-1199"></a> <span class="p">(</span><span class="n">GBaseInitFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1200"></a> <span class="p">(</span><span class="n">GBaseFinalizeFunc</span><span class="p">)</span> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1201"></a> <span class="p">(</span><span class="n">GClassInitFunc</span><span class="p">)</span> <span class="n">caja_share_class_init</span><span class="p">,</span>
+<a name="line-1202"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1203"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1204"></a> <span class="k">sizeof</span> <span class="p">(</span><span class="n">CajaShare</span><span class="p">),</span>
+<a name="line-1205"></a> <span class="mi">0</span><span class="p">,</span>
+<a name="line-1206"></a> <span class="p">(</span><span class="n">GInstanceInitFunc</span><span class="p">)</span> <span class="n">caja_share_instance_init</span><span class="p">,</span>
+<a name="line-1207"></a> <span class="p">};</span>
+<a name="line-1208"></a>
+<a name="line-1209"></a> <span class="n">share_type</span> <span class="o">=</span> <span class="n">g_type_module_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1210"></a> <span class="n">G_TYPE_OBJECT</span><span class="p">,</span>
+<a name="line-1211"></a> <span class="s">&quot;CajaShare&quot;</span><span class="p">,</span>
+<a name="line-1212"></a> <span class="o">&amp;</span><span class="n">info</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-1213"></a>
+<a name="line-1214"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">property_page_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1215"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_property_page_provider_iface_init</span><span class="p">,</span>
+<a name="line-1216"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1217"></a> <span class="nb">NULL</span>
+<a name="line-1218"></a> <span class="p">};</span>
+<a name="line-1219"></a>
+<a name="line-1220"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1221"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1222"></a> <span class="n">CAJA_TYPE_PROPERTY_PAGE_PROVIDER</span><span class="p">,</span>
+<a name="line-1223"></a> <span class="o">&amp;</span><span class="n">property_page_provider_iface_info</span><span class="p">);</span>
+<a name="line-1224"></a>
+<a name="line-1225"></a>
+<a name="line-1226"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">info_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1227"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_info_provider_iface_init</span><span class="p">,</span>
+<a name="line-1228"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1229"></a> <span class="nb">NULL</span>
+<a name="line-1230"></a> <span class="p">};</span>
+<a name="line-1231"></a>
+<a name="line-1232"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1233"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1234"></a> <span class="n">CAJA_TYPE_INFO_PROVIDER</span><span class="p">,</span>
+<a name="line-1235"></a> <span class="o">&amp;</span><span class="n">info_provider_iface_info</span><span class="p">);</span>
+<a name="line-1236"></a>
+<a name="line-1237"></a> <span class="cm">/* Menu right clik */</span>
+<a name="line-1238"></a> <span class="k">static</span> <span class="k">const</span> <span class="n">GInterfaceInfo</span> <span class="n">menu_provider_iface_info</span> <span class="o">=</span> <span class="p">{</span>
+<a name="line-1239"></a> <span class="p">(</span><span class="n">GInterfaceInitFunc</span><span class="p">)</span> <span class="n">caja_share_menu_provider_iface_init</span><span class="p">,</span>
+<a name="line-1240"></a> <span class="nb">NULL</span><span class="p">,</span>
+<a name="line-1241"></a> <span class="nb">NULL</span>
+<a name="line-1242"></a> <span class="p">};</span>
+<a name="line-1243"></a>
+<a name="line-1244"></a> <span class="n">g_type_module_add_interface</span> <span class="p">(</span><span class="n">module</span><span class="p">,</span>
+<a name="line-1245"></a> <span class="n">share_type</span><span class="p">,</span>
+<a name="line-1246"></a> <span class="n">CAJA_TYPE_MENU_PROVIDER</span><span class="p">,</span>
+<a name="line-1247"></a> <span class="o">&amp;</span><span class="n">menu_provider_iface_info</span><span class="p">);</span>
+<a name="line-1248"></a>
+<a name="line-1249"></a><span class="p">}</span>
+<a name="line-1250"></a>
+<a name="line-1251"></a><span class="cm">/* Extension module functions. These functions are defined in</span>
+<a name="line-1252"></a><span class="cm"> * caja-extensions-types.h, and must be implemented by all</span>
+<a name="line-1253"></a><span class="cm"> * extensions. */</span>
+<a name="line-1254"></a>
+<a name="line-1255"></a><span class="cm">/* Initialization function. In addition to any module-specific</span>
+<a name="line-1256"></a><span class="cm"> * initialization, any types implemented by the module should</span>
+<a name="line-1257"></a><span class="cm"> * be registered here. */</span>
+<a name="line-1258"></a><span class="kt">void</span>
+<a name="line-1259"></a><span class="nf">caja_module_initialize</span> <span class="p">(</span><span class="n">GTypeModule</span> <span class="o">*</span><span class="n">module</span><span class="p">)</span>
+<a name="line-1260"></a><span class="p">{</span>
+<a name="line-1261"></a> <span class="cm">/*g_print (&quot;Initializing caja-share extension\n&quot;);*/</span>
+<a name="line-1262"></a>
+<a name="line-1263"></a> <span class="n">bindtextdomain</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="n">MATELOCALEDIR</span><span class="p">);</span>
+<a name="line-1264"></a> <span class="n">bind_textdomain_codeset</span><span class="p">(</span><span class="n">GETTEXT_PACKAGE</span><span class="p">,</span> <span class="s">&quot;UTF-8&quot;</span><span class="p">);</span>
+<a name="line-1265"></a>
+<a name="line-1266"></a> <span class="n">caja_share_register_type</span> <span class="p">(</span><span class="n">module</span><span class="p">);</span>
+<a name="line-1267"></a><span class="p">}</span>
+<a name="line-1268"></a>
+<a name="line-1269"></a><span class="cm">/* Perform module-specific shutdown. */</span>
+<a name="line-1270"></a><span class="kt">void</span>
+<a name="line-1271"></a><span class="nf">caja_module_shutdown</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-1272"></a><span class="p">{</span>
+<a name="line-1273"></a> <span class="cm">/*g_print (&quot;Shutting down caja-share extension\n&quot;);*/</span>
+<a name="line-1274"></a> <span class="cm">/* FIXME freeing */</span>
+<a name="line-1275"></a><span class="p">}</span>
+<a name="line-1276"></a>
+<a name="line-1277"></a><span class="cm">/* List all the extension types. */</span>
+<a name="line-1278"></a><span class="kt">void</span>
+<a name="line-1279"></a><span class="nf">caja_module_list_types</span> <span class="p">(</span><span class="k">const</span> <span class="n">GType</span> <span class="o">**</span><span class="n">types</span><span class="p">,</span>
+<a name="line-1280"></a> <span class="kt">int</span> <span class="o">*</span><span class="n">num_types</span><span class="p">)</span>
+<a name="line-1281"></a><span class="p">{</span>
+<a name="line-1282"></a> <span class="k">static</span> <span class="n">GType</span> <span class="n">type_list</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-1283"></a>
+<a name="line-1284"></a> <span class="n">type_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">CAJA_TYPE_SHARE</span><span class="p">;</span>
+<a name="line-1285"></a>
+<a name="line-1286"></a> <span class="o">*</span><span class="n">types</span> <span class="o">=</span> <span class="n">type_list</span><span class="p">;</span>
+<a name="line-1287"></a> <span class="o">*</span><span class="n">num_types</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<a name="line-1288"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/9.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/9.html
new file mode 100644
index 0000000..8cae30b
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/9.html
@@ -0,0 +1,2186 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #888888 } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #008800; font-weight: bold } /* Keyword */
+.highlight .o { color: #333333 } /* Operator */
+.highlight .ch { color: #888888 } /* Comment.Hashbang */
+.highlight .cm { color: #888888 } /* Comment.Multiline */
+.highlight .cp { color: #557799 } /* Comment.Preproc */
+.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
+.highlight .c1 { color: #888888 } /* Comment.Single */
+.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0044DD } /* Generic.Traceback */
+.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
+.highlight .s { background-color: #fff0f0 } /* Literal.String */
+.highlight .na { color: #0000CC } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
+.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #007700 } /* Name.Tag */
+.highlight .nv { color: #996633 } /* Name.Variable */
+.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
+.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
+.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
+.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
+.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
+.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
+.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
+.highlight .sc { color: #0044DD } /* Literal.String.Char */
+.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
+.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
+.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
+.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
+.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
+.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
+.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
+.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
+.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
+.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
+.highlight .vc { color: #336699 } /* Name.Variable.Class */
+.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
+.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
+.highlight .vm { color: #996633 } /* Name.Variable.Magic */
+.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: share/shares.c </h1>
+ </div>
+ <div id="menu" dir="rtl">
+ <p id="filename"><a href="index.html">Defects:</a> shares.c</p>
+<a href='9.html#line-341'> constArgument 341</a><a href='9.html#line-392'> constArgument 392</a>
+ </div>
+ <div id="content">
+<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016</pre></div></td><td class="code"><div class="highlight"><pre><span></span><a name="line-1"></a><span class="cp">#include</span> <span class="cpf">&lt;config.h&gt;</span><span class="cp"></span>
+<a name="line-2"></a><span class="cp">#include</span> <span class="cpf">&lt;string.h&gt;</span><span class="cp"></span>
+<a name="line-3"></a><span class="cp">#include</span> <span class="cpf">&lt;time.h&gt;</span><span class="cp"></span>
+<a name="line-4"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp"></span>
+<a name="line-5"></a><span class="cp">#include</span> <span class="cpf">&lt;sys/wait.h&gt;</span><span class="cp"></span>
+<a name="line-6"></a><span class="cp">#include</span> <span class="cpf">&lt;glib/gi18n-lib.h&gt;</span><span class="cp"></span>
+<a name="line-7"></a><span class="cp">#include</span> <span class="cpf">&quot;shares.h&quot;</span><span class="cp"></span>
+<a name="line-8"></a>
+<a name="line-9"></a><span class="cp">#undef DEBUG_SHARES</span>
+<a name="line-10"></a><span class="cp">#ifdef DEBUG_SHARES</span>
+<a name="line-11"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;debug-net-usershare&quot;</span>
+<a name="line-12"></a><span class="cp">#else</span>
+<a name="line-13"></a><span class="cp"># define NET_USERSHARE_ARGV0 &quot;net&quot;</span>
+<a name="line-14"></a><span class="cp">#endif</span>
+<a name="line-15"></a>
+<a name="line-16"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">path_share_info_hash</span><span class="p">;</span>
+<a name="line-17"></a><span class="k">static</span> <span class="n">GHashTable</span> <span class="o">*</span><span class="n">share_name_share_info_hash</span><span class="p">;</span>
+<a name="line-18"></a>
+<a name="line-19"></a><span class="cp">#define NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES 100</span>
+<a name="line-20"></a><span class="cp">#define TIMESTAMP_THRESHOLD 10 </span><span class="cm">/* seconds */</span><span class="cp"></span>
+<a name="line-21"></a><span class="k">static</span> <span class="kt">int</span> <span class="n">refresh_timestamp_update_counter</span><span class="p">;</span>
+<a name="line-22"></a><span class="k">static</span> <span class="kt">time_t</span> <span class="n">refresh_timestamp</span><span class="p">;</span>
+<a name="line-23"></a>
+<a name="line-24"></a><span class="cp">#define KEY_PATH &quot;path&quot;</span>
+<a name="line-25"></a><span class="cp">#define KEY_COMMENT &quot;comment&quot;</span>
+<a name="line-26"></a><span class="cp">#define KEY_ACL &quot;usershare_acl&quot;</span>
+<a name="line-27"></a><span class="cp">#define KEY_GUEST_OK &quot;guest_ok&quot;</span>
+<a name="line-28"></a><span class="cp">#define GROUP_ALLOW_GUESTS &quot;global&quot;</span>
+<a name="line-29"></a><span class="cp">#define KEY_ALLOW_GUESTS &quot;usershare allow guests&quot;</span>
+<a name="line-30"></a>
+<a name="line-31"></a><span class="cm">/* Debugging flags */</span>
+<a name="line-32"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_refresh</span><span class="p">;</span>
+<a name="line-33"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_add</span><span class="p">;</span>
+<a name="line-34"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_modify</span><span class="p">;</span>
+<a name="line-35"></a><span class="k">static</span> <span class="n">gboolean</span> <span class="n">throw_error_on_remove</span><span class="p">;</span>
+<a name="line-36"></a>
+<a name="line-37"></a><span class="cm">/* Interface to &quot;net usershare&quot; */</span>
+<a name="line-38"></a>
+<a name="line-39"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-40"></a><span class="nf">net_usershare_run</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">,</span> <span class="n">GKeyFile</span> <span class="o">**</span><span class="n">ret_key_file</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-41"></a><span class="p">{</span>
+<a name="line-42"></a> <span class="kt">int</span> <span class="n">real_argc</span><span class="p">;</span>
+<a name="line-43"></a> <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-44"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">real_argv</span><span class="p">;</span>
+<a name="line-45"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-46"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-47"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-48"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-49"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-50"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-51"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-52"></a>
+<a name="line-53"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-54"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-55"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-56"></a>
+<a name="line-57"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span>
+<a name="line-58"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-59"></a>
+<a name="line-60"></a> <span class="cm">/* Build command line */</span>
+<a name="line-61"></a>
+<a name="line-62"></a> <span class="n">real_argc</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">argc</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="cm">/* &quot;net&quot; &quot;usershare&quot; [argv] NULL */</span>
+<a name="line-63"></a> <span class="n">real_argv</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="kt">char</span> <span class="o">*</span><span class="p">,</span> <span class="n">real_argc</span><span class="p">);</span>
+<a name="line-64"></a>
+<a name="line-65"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">NET_USERSHARE_ARGV0</span><span class="p">;</span>
+<a name="line-66"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;usershare&quot;</span><span class="p">;</span>
+<a name="line-67"></a>
+<a name="line-68"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-69"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-70"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
+<a name="line-71"></a> <span class="p">}</span>
+<a name="line-72"></a>
+<a name="line-73"></a> <span class="n">real_argv</span><span class="p">[</span><span class="n">real_argc</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-74"></a>
+<a name="line-75"></a> <span class="cm">/* Launch */</span>
+<a name="line-76"></a>
+<a name="line-77"></a> <span class="n">stdout_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-78"></a> <span class="n">stderr_contents</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-79"></a> <span class="cm">/*</span>
+<a name="line-80"></a><span class="cm"> {</span>
+<a name="line-81"></a><span class="cm"> char **p;</span>
+<a name="line-82"></a>
+<a name="line-83"></a><span class="cm"> g_message (&quot;------------------------------------------&quot;);</span>
+<a name="line-84"></a>
+<a name="line-85"></a><span class="cm"> for (p = real_argv; *p; p++)</span>
+<a name="line-86"></a><span class="cm"> g_message (&quot;spawn arg \&quot;%s\&quot;&quot;, *p);</span>
+<a name="line-87"></a>
+<a name="line-88"></a><span class="cm"> g_message (&quot;end of spawn args; SPAWNING\n&quot;);</span>
+<a name="line-89"></a><span class="cm"> }</span>
+<a name="line-90"></a><span class="cm"> */</span>
+<a name="line-91"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-92"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">g_spawn_sync</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* cwd */</span>
+<a name="line-93"></a> <span class="n">real_argv</span><span class="p">,</span>
+<a name="line-94"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* envp */</span>
+<a name="line-95"></a> <span class="n">G_SPAWN_SEARCH_PATH</span><span class="p">,</span>
+<a name="line-96"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* GSpawnChildSetupFunc */</span>
+<a name="line-97"></a> <span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* user_data */</span>
+<a name="line-98"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-99"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-100"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-101"></a> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-102"></a>
+<a name="line-103"></a> <span class="cm">/* g_message (&quot;returned from spawn: %s: %s&quot;, retval ? &quot;SUCCESS&quot; : &quot;FAIL&quot;, retval ? &quot;&quot; : real_error-&gt;message); */</span>
+<a name="line-104"></a>
+<a name="line-105"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">retval</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-106"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-107"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-108"></a> <span class="p">}</span>
+<a name="line-109"></a>
+<a name="line-110"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-111"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;WIFEXITED(%d) was false!&quot;</span><span class="p">,</span> <span class="n">exit_status</span><span class="p">);</span>
+<a name="line-112"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-113"></a>
+<a name="line-114"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-115"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-116"></a>
+<a name="line-117"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-118"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Child got signal %d&quot;</span><span class="p">,</span> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-119"></a>
+<a name="line-120"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-121"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-122"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-123"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-124"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-125"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-126"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span>
+<a name="line-127"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-128"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-129"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-130"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-131"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-132"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;%s %s %s failed for an unknown reason&quot;</span><span class="p">),</span>
+<a name="line-133"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span>
+<a name="line-134"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span>
+<a name="line-135"></a> <span class="n">real_argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+<a name="line-136"></a>
+<a name="line-137"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-138"></a> <span class="p">}</span>
+<a name="line-139"></a>
+<a name="line-140"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-141"></a>
+<a name="line-142"></a> <span class="cm">/* g_message (&quot;exit code %d&quot;, exit_code); */</span>
+<a name="line-143"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-144"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-145"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-146"></a>
+<a name="line-147"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-148"></a>
+<a name="line-149"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-150"></a>
+<a name="line-151"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-152"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-153"></a> <span class="k">else</span>
+<a name="line-154"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;&#39;net usershare&#39; returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-155"></a>
+<a name="line-156"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-157"></a>
+<a name="line-158"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-159"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-160"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-161"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-162"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-163"></a>
+<a name="line-164"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-165"></a>
+<a name="line-166"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-167"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-168"></a> <span class="p">}</span>
+<a name="line-169"></a>
+<a name="line-170"></a> <span class="k">if</span> <span class="p">(</span><span class="n">ret_key_file</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-171"></a> <span class="cm">/* g_message (&quot;caller wants GKeyFile&quot;); */</span>
+<a name="line-172"></a>
+<a name="line-173"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-174"></a>
+<a name="line-175"></a> <span class="cm">/* FIXME: [email protected] says the output of &quot;net usershare&quot; is nearly always</span>
+<a name="line-176"></a><span class="cm"> * in UTF-8, but that it can be configured in the master smb.conf. We assume</span>
+<a name="line-177"></a><span class="cm"> * UTF-8 for now.</span>
+<a name="line-178"></a><span class="cm"> */</span>
+<a name="line-179"></a>
+<a name="line-180"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_utf8_validate</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-181"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;stdout of net usershare was not in valid UTF-8&quot;</span><span class="p">);</span>
+<a name="line-182"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-183"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-184"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-185"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;the output of &#39;net usershare&#39; is not in valid UTF-8 encoding&quot;</span><span class="p">));</span>
+<a name="line-186"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-187"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-188"></a> <span class="p">}</span>
+<a name="line-189"></a>
+<a name="line-190"></a> <span class="n">key_file</span> <span class="o">=</span> <span class="n">g_key_file_new</span> <span class="p">();</span>
+<a name="line-191"></a>
+<a name="line-192"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-193"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">g_key_file_load_from_data</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-194"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Error when parsing key file {</span><span class="se">\n</span><span class="s">%s</span><span class="se">\n</span><span class="s">}: %s&quot;</span><span class="p">,</span> <span class="n">stdout_contents</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-195"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-196"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-197"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-198"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-199"></a> <span class="p">}</span>
+<a name="line-200"></a>
+<a name="line-201"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-202"></a> <span class="o">*</span><span class="n">ret_key_file</span> <span class="o">=</span> <span class="n">key_file</span><span class="p">;</span>
+<a name="line-203"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-204"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-205"></a>
+<a name="line-206"></a> <span class="cm">/* g_message (&quot;success from calling net usershare and parsing its output&quot;); */</span>
+<a name="line-207"></a>
+<a name="line-208"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-209"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">real_argv</span><span class="p">);</span>
+<a name="line-210"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-211"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-212"></a>
+<a name="line-213"></a> <span class="cm">/* g_message (&quot;------------------------------------------&quot;); */</span>
+<a name="line-214"></a>
+<a name="line-215"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-216"></a><span class="p">}</span>
+<a name="line-217"></a>
+<a name="line-218"></a>
+<a name="line-219"></a><span class="cm">/* Internals */</span>
+<a name="line-220"></a>
+<a name="line-221"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-222"></a><span class="nf">ensure_hashes</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-223"></a><span class="p">{</span>
+<a name="line-224"></a> <span class="k">if</span> <span class="p">(</span><span class="n">path_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-225"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-226"></a>
+<a name="line-227"></a> <span class="n">path_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-228"></a> <span class="n">share_name_share_info_hash</span> <span class="o">=</span> <span class="n">g_hash_table_new</span> <span class="p">(</span><span class="n">g_str_hash</span><span class="p">,</span> <span class="n">g_str_equal</span><span class="p">);</span>
+<a name="line-229"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-230"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-231"></a><span class="p">}</span>
+<a name="line-232"></a>
+<a name="line-233"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-234"></a><span class="nf">lookup_share_by_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">)</span>
+<a name="line-235"></a><span class="p">{</span>
+<a name="line-236"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-237"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-238"></a><span class="p">}</span>
+<a name="line-239"></a>
+<a name="line-240"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-241"></a><span class="nf">lookup_share_by_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">)</span>
+<a name="line-242"></a><span class="p">{</span>
+<a name="line-243"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-244"></a> <span class="k">return</span> <span class="n">g_hash_table_lookup</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">share_name</span><span class="p">);</span>
+<a name="line-245"></a><span class="p">}</span>
+<a name="line-246"></a>
+<a name="line-247"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-248"></a><span class="nf">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-249"></a><span class="p">{</span>
+<a name="line-250"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-251"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-252"></a> <span class="n">g_hash_table_insert</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">,</span> <span class="n">info</span><span class="p">);</span>
+<a name="line-253"></a><span class="p">}</span>
+<a name="line-254"></a>
+<a name="line-255"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-256"></a><span class="nf">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-257"></a><span class="p">{</span>
+<a name="line-258"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-259"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-260"></a> <span class="n">g_hash_table_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-261"></a><span class="p">}</span>
+<a name="line-262"></a>
+<a name="line-263"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-264"></a><span class="nf">remove_from_path_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-265"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-266"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-267"></a><span class="p">{</span>
+<a name="line-268"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-269"></a>
+<a name="line-270"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-271"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-272"></a>
+<a name="line-273"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-274"></a><span class="p">}</span>
+<a name="line-275"></a>
+<a name="line-276"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-277"></a><span class="nf">remove_from_share_name_hash_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span>
+<a name="line-278"></a> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span>
+<a name="line-279"></a> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-280"></a><span class="p">{</span>
+<a name="line-281"></a> <span class="cm">/* The ShareInfo was already freed in remove_from_path_hash_cb() */</span>
+<a name="line-282"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-283"></a><span class="p">}</span>
+<a name="line-284"></a>
+<a name="line-285"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-286"></a><span class="nf">free_all_shares</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-287"></a><span class="p">{</span>
+<a name="line-288"></a> <span class="n">ensure_hashes</span> <span class="p">();</span>
+<a name="line-289"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_path_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-290"></a> <span class="n">g_hash_table_foreach_remove</span> <span class="p">(</span><span class="n">share_name_share_info_hash</span><span class="p">,</span> <span class="n">remove_from_share_name_hash_cb</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-291"></a><span class="p">}</span>
+<a name="line-292"></a>
+<a name="line-293"></a><span class="k">static</span> <span class="kt">char</span> <span class="o">*</span>
+<a name="line-294"></a><span class="nf">get_string_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">key</span><span class="p">)</span>
+<a name="line-295"></a><span class="p">{</span>
+<a name="line-296"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">error</span><span class="p">;</span>
+<a name="line-297"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-298"></a>
+<a name="line-299"></a> <span class="n">error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-300"></a> <span class="n">str</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-301"></a>
+<a name="line-302"></a> <span class="k">if</span> <span class="p">(</span><span class="n">g_key_file_has_key</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-303"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_key_file_get_string</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">error</span><span class="p">);</span>
+<a name="line-304"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-305"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_NOT_FOUND</span><span class="p">)</span>
+<a name="line-306"></a> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-307"></a>
+<a name="line-308"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-309"></a> <span class="p">}</span>
+<a name="line-310"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-311"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="o">!</span><span class="n">g_error_matches</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR</span><span class="p">,</span> <span class="n">G_KEY_FILE_ERROR_GROUP_NOT_FOUND</span><span class="p">));</span>
+<a name="line-312"></a> <span class="n">g_error_free</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-313"></a> <span class="p">}</span>
+<a name="line-314"></a>
+<a name="line-315"></a> <span class="k">return</span> <span class="n">str</span><span class="p">;</span>
+<a name="line-316"></a><span class="p">}</span>
+<a name="line-317"></a>
+<a name="line-318"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-319"></a><span class="nf">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">group</span><span class="p">)</span>
+<a name="line-320"></a><span class="p">{</span>
+<a name="line-321"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
+<a name="line-322"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-323"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">acl</span><span class="p">;</span>
+<a name="line-324"></a> <span class="n">gboolean</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-325"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">guest_ok_str</span><span class="p">;</span>
+<a name="line-326"></a> <span class="n">gboolean</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-327"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-328"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-329"></a>
+<a name="line-330"></a> <span class="cm">/* Remove the old share based on the name */</span>
+<a name="line-331"></a>
+<a name="line-332"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-333"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-334"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-335"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-336"></a> <span class="p">}</span>
+<a name="line-337"></a>
+<a name="line-338"></a> <span class="cm">/* Start parsing, and remove the old share based on the path */</span>
+<a name="line-339"></a>
+<a name="line-340"></a> <span class="n">path</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-341"></a><span class="hll"> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">path</span><span class="p">)</span> <span class="p">{</span><span class='error2'>&lt;--- Assuming that condition '!path' is not redundant</span>
+</span><a name="line-342"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Ignoring group.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_PATH</span><span class="p">);</span>
+<a name="line-343"></a> <span class="k">return</span><span class="p">;</span>
+<a name="line-344"></a> <span class="p">}</span>
+<a name="line-345"></a>
+<a name="line-346"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-347"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-348"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-349"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-350"></a> <span class="p">}</span>
+<a name="line-351"></a>
+<a name="line-352"></a> <span class="cm">/* Finish parsing */</span>
+<a name="line-353"></a>
+<a name="line-354"></a> <span class="n">comment</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_COMMENT</span><span class="p">);</span>
+<a name="line-355"></a>
+<a name="line-356"></a> <span class="n">acl</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-357"></a> <span class="k">if</span> <span class="p">(</span><span class="n">acl</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-358"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:R&quot;</span><span class="p">))</span>
+<a name="line-359"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-360"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strstr</span> <span class="p">(</span><span class="n">acl</span><span class="p">,</span> <span class="s">&quot;Everyone:F&quot;</span><span class="p">))</span>
+<a name="line-361"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-362"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-363"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is read-only&quot;</span><span class="p">,</span>
+<a name="line-364"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">,</span> <span class="n">acl</span><span class="p">);</span>
+<a name="line-365"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-366"></a> <span class="p">}</span>
+<a name="line-367"></a>
+<a name="line-368"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">acl</span><span class="p">);</span>
+<a name="line-369"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-370"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is read-only.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_ACL</span><span class="p">);</span>
+<a name="line-371"></a> <span class="n">is_writable</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-372"></a> <span class="p">}</span>
+<a name="line-373"></a>
+<a name="line-374"></a> <span class="n">guest_ok_str</span> <span class="o">=</span> <span class="n">get_string_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-375"></a> <span class="k">if</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-376"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;n&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-377"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-378"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">,</span> <span class="s">&quot;y&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-379"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-380"></a> <span class="k">else</span> <span class="p">{</span>
+<a name="line-381"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;unknown format for key &#39;%s/%s&#39; as it contains &#39;%s&#39;. Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span>
+<a name="line-382"></a> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">,</span> <span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-383"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-384"></a> <span class="p">}</span>
+<a name="line-385"></a>
+<a name="line-386"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">guest_ok_str</span><span class="p">);</span>
+<a name="line-387"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-388"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;group &#39;%s&#39; doesn&#39;t have a &#39;%s&#39; key! Assuming that the share is not guest accessible.&quot;</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">KEY_GUEST_OK</span><span class="p">);</span>
+<a name="line-389"></a> <span class="n">guest_ok</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-390"></a> <span class="p">}</span>
+<a name="line-391"></a>
+<a name="line-392"></a><span class="hll"> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span><span class='error2'>&lt;--- Argument 'path!=NULL' to function g_assert is always 1</span>
+</span><a name="line-393"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-394"></a>
+<a name="line-395"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-396"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+<a name="line-397"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">group</span><span class="p">);</span>
+<a name="line-398"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">comment</span><span class="p">;</span>
+<a name="line-399"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">is_writable</span><span class="p">;</span>
+<a name="line-400"></a> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-401"></a>
+<a name="line-402"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-403"></a><span class="p">}</span>
+<a name="line-404"></a>
+<a name="line-405"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-406"></a><span class="nf">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">)</span>
+<a name="line-407"></a><span class="p">{</span>
+<a name="line-408"></a> <span class="n">gsize</span> <span class="n">num_groups</span><span class="p">;</span>
+<a name="line-409"></a> <span class="kt">char</span> <span class="o">**</span><span class="n">group_names</span><span class="p">;</span>
+<a name="line-410"></a> <span class="n">gsize</span> <span class="n">i</span><span class="p">;</span>
+<a name="line-411"></a>
+<a name="line-412"></a> <span class="n">group_names</span> <span class="o">=</span> <span class="n">g_key_file_get_groups</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">num_groups</span><span class="p">);</span>
+<a name="line-413"></a>
+<a name="line-414"></a> <span class="cm">/* FIXME: In add_key_group_to_hashes(), we simply ignore key groups</span>
+<a name="line-415"></a><span class="cm"> * which have invalid data (i.e. no path). We could probably accumulate a</span>
+<a name="line-416"></a><span class="cm"> * GError with the list of invalid groups and propagate it upwards.</span>
+<a name="line-417"></a><span class="cm"> */</span>
+<a name="line-418"></a> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">num_groups</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-419"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-420"></a> <span class="n">add_key_group_to_hashes</span> <span class="p">(</span><span class="n">key_file</span><span class="p">,</span> <span class="n">group_names</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
+<a name="line-421"></a> <span class="p">}</span>
+<a name="line-422"></a>
+<a name="line-423"></a> <span class="n">g_strfreev</span> <span class="p">(</span><span class="n">group_names</span><span class="p">);</span>
+<a name="line-424"></a><span class="p">}</span>
+<a name="line-425"></a>
+<a name="line-426"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-427"></a><span class="nf">refresh_shares</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-428"></a><span class="p">{</span>
+<a name="line-429"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-430"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+<a name="line-431"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-432"></a>
+<a name="line-433"></a> <span class="n">free_all_shares</span> <span class="p">();</span>
+<a name="line-434"></a>
+<a name="line-435"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_refresh</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-436"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-437"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-438"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-439"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-440"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-441"></a> <span class="p">}</span>
+<a name="line-442"></a>
+<a name="line-443"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;info&quot;</span><span class="p">;</span>
+<a name="line-444"></a>
+<a name="line-445"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-446"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-447"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare info</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-448"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-449"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-450"></a> <span class="p">}</span>
+<a name="line-451"></a>
+<a name="line-452"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">key_file</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-453"></a>
+<a name="line-454"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-455"></a> <span class="n">g_key_file_free</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-456"></a>
+<a name="line-457"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-458"></a><span class="p">}</span>
+<a name="line-459"></a>
+<a name="line-460"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-461"></a><span class="nf">refresh_if_needed</span> <span class="p">(</span><span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-462"></a><span class="p">{</span>
+<a name="line-463"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-464"></a>
+<a name="line-465"></a> <span class="k">if</span> <span class="p">(</span><span class="n">refresh_timestamp_update_counter</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-466"></a> <span class="kt">time_t</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-467"></a>
+<a name="line-468"></a> <span class="n">refresh_timestamp_update_counter</span> <span class="o">=</span> <span class="n">NUM_CALLS_BETWEEN_TIMESTAMP_UPDATES</span><span class="p">;</span>
+<a name="line-469"></a>
+<a name="line-470"></a> <span class="n">new_timestamp</span> <span class="o">=</span> <span class="n">time</span> <span class="p">(</span><span class="nb">NULL</span><span class="p">);</span>
+<a name="line-471"></a> <span class="k">if</span> <span class="p">(</span><span class="n">new_timestamp</span> <span class="o">-</span> <span class="n">refresh_timestamp</span> <span class="o">&gt;</span> <span class="n">TIMESTAMP_THRESHOLD</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-472"></a> <span class="cm">/* g_message (&quot;REFRESHING SHARES&quot;); */</span>
+<a name="line-473"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">refresh_shares</span> <span class="p">(</span><span class="n">error</span><span class="p">);</span>
+<a name="line-474"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-475"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-476"></a>
+<a name="line-477"></a> <span class="n">refresh_timestamp</span> <span class="o">=</span> <span class="n">new_timestamp</span><span class="p">;</span>
+<a name="line-478"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+<a name="line-479"></a> <span class="n">refresh_timestamp_update_counter</span><span class="o">--</span><span class="p">;</span>
+<a name="line-480"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-481"></a> <span class="p">}</span>
+<a name="line-482"></a>
+<a name="line-483"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-484"></a><span class="p">}</span>
+<a name="line-485"></a>
+<a name="line-486"></a><span class="k">static</span> <span class="n">ShareInfo</span> <span class="o">*</span>
+<a name="line-487"></a><span class="nf">copy_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-488"></a><span class="p">{</span>
+<a name="line-489"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-490"></a>
+<a name="line-491"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="p">)</span>
+<a name="line-492"></a> <span class="k">return</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-493"></a>
+<a name="line-494"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">g_new</span> <span class="p">(</span><span class="n">ShareInfo</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
+<a name="line-495"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-496"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">share_name</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-497"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">comment</span> <span class="o">=</span> <span class="n">g_strdup</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-498"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">;</span>
+<a name="line-499"></a> <span class="n">copy</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span><span class="p">;</span>
+<a name="line-500"></a>
+<a name="line-501"></a> <span class="k">return</span> <span class="n">copy</span><span class="p">;</span>
+<a name="line-502"></a><span class="p">}</span>
+<a name="line-503"></a>
+<a name="line-504"></a><span class="cm">/**</span>
+<a name="line-505"></a><span class="cm"> * shares_supports_guest_ok:</span>
+<a name="line-506"></a><span class="cm"> * @supports_guest_ok_ret: Location to store whether &quot;usershare allow guests&quot;</span>
+<a name="line-507"></a><span class="cm"> * is enabled.</span>
+<a name="line-508"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-509"></a><span class="cm"> *</span>
+<a name="line-510"></a><span class="cm"> * Determines whether the option &quot;usershare allow guests&quot; is enabled in samba</span>
+<a name="line-511"></a><span class="cm"> * config as shown by testparm.</span>
+<a name="line-512"></a><span class="cm"> *</span>
+<a name="line-513"></a><span class="cm"> * Return value: #TRUE if if the info could be queried successfully, #FALSE</span>
+<a name="line-514"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned</span>
+<a name="line-515"></a><span class="cm"> * in the @error argument, and *@ret_info_list will be set to #FALSE.</span>
+<a name="line-516"></a><span class="cm"> **/</span>
+<a name="line-517"></a><span class="n">gboolean</span>
+<a name="line-518"></a><span class="nf">shares_supports_guest_ok</span> <span class="p">(</span><span class="n">gboolean</span> <span class="o">*</span><span class="n">supports_guest_ok_ret</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-519"></a><span class="p">{</span>
+<a name="line-520"></a> <span class="n">gboolean</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-521"></a> <span class="n">gboolean</span> <span class="n">result</span><span class="p">;</span>
+<a name="line-522"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stdout_contents</span><span class="p">;</span>
+<a name="line-523"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">stderr_contents</span><span class="p">;</span>
+<a name="line-524"></a> <span class="kt">int</span> <span class="n">exit_status</span><span class="p">;</span>
+<a name="line-525"></a> <span class="kt">int</span> <span class="n">exit_code</span><span class="p">;</span>
+<a name="line-526"></a>
+<a name="line-527"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-528"></a>
+<a name="line-529"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">g_spawn_command_line_sync</span> <span class="p">(</span><span class="s">&quot;testparm -s --parameter-name=&#39;usershare allow guests&#39;&quot;</span><span class="p">,</span>
+<a name="line-530"></a> <span class="o">&amp;</span><span class="n">stdout_contents</span><span class="p">,</span>
+<a name="line-531"></a> <span class="o">&amp;</span><span class="n">stderr_contents</span><span class="p">,</span>
+<a name="line-532"></a> <span class="o">&amp;</span><span class="n">exit_status</span><span class="p">,</span>
+<a name="line-533"></a> <span class="n">error</span><span class="p">);</span>
+<a name="line-534"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">result</span><span class="p">)</span>
+<a name="line-535"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-536"></a>
+<a name="line-537"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-538"></a>
+<a name="line-539"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">WIFEXITED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-540"></a> <span class="k">if</span> <span class="p">(</span><span class="n">WIFSIGNALED</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-541"></a> <span class="kt">int</span> <span class="n">signal_num</span><span class="p">;</span>
+<a name="line-542"></a>
+<a name="line-543"></a> <span class="n">signal_num</span> <span class="o">=</span> <span class="n">WTERMSIG</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-544"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-545"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-546"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-547"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned with signal %d&quot;</span><span class="p">),</span>
+<a name="line-548"></a> <span class="n">signal_num</span><span class="p">);</span>
+<a name="line-549"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-550"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-551"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-552"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-553"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm failed for an unknown reason&quot;</span><span class="p">));</span>
+<a name="line-554"></a>
+<a name="line-555"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-556"></a> <span class="p">}</span>
+<a name="line-557"></a>
+<a name="line-558"></a> <span class="n">exit_code</span> <span class="o">=</span> <span class="n">WEXITSTATUS</span> <span class="p">(</span><span class="n">exit_status</span><span class="p">);</span>
+<a name="line-559"></a> <span class="k">if</span> <span class="p">(</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-560"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">str</span><span class="p">;</span>
+<a name="line-561"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
+<a name="line-562"></a>
+<a name="line-563"></a> <span class="cm">/* stderr_contents is in the system locale encoding, not UTF-8 */</span>
+<a name="line-564"></a>
+<a name="line-565"></a> <span class="n">str</span> <span class="o">=</span> <span class="n">g_locale_to_utf8</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-566"></a>
+<a name="line-567"></a> <span class="k">if</span> <span class="p">(</span><span class="n">str</span> <span class="o">&amp;&amp;</span> <span class="n">str</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<a name="line-568"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d: %s&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">,</span> <span class="n">str</span><span class="p">);</span>
+<a name="line-569"></a> <span class="k">else</span>
+<a name="line-570"></a> <span class="n">message</span> <span class="o">=</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&quot;Samba&#39;s testparm returned error %d&quot;</span><span class="p">),</span> <span class="n">exit_code</span><span class="p">);</span>
+<a name="line-571"></a>
+<a name="line-572"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">str</span><span class="p">);</span>
+<a name="line-573"></a>
+<a name="line-574"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-575"></a> <span class="n">G_SPAWN_ERROR</span><span class="p">,</span>
+<a name="line-576"></a> <span class="n">G_SPAWN_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-577"></a> <span class="s">&quot;%s&quot;</span><span class="p">,</span>
+<a name="line-578"></a> <span class="n">message</span><span class="p">);</span>
+<a name="line-579"></a>
+<a name="line-580"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">message</span><span class="p">);</span>
+<a name="line-581"></a>
+<a name="line-582"></a> <span class="k">goto</span> <span class="n">out</span><span class="p">;</span>
+<a name="line-583"></a> <span class="p">}</span>
+<a name="line-584"></a>
+<a name="line-585"></a> <span class="n">retval</span> <span class="o">=</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-586"></a> <span class="o">*</span><span class="n">supports_guest_ok_ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">g_ascii_strncasecmp</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">,</span> <span class="s">&quot;Yes&quot;</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">);</span>
+<a name="line-587"></a>
+<a name="line-588"></a> <span class="nl">out</span><span class="p">:</span>
+<a name="line-589"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stdout_contents</span><span class="p">);</span>
+<a name="line-590"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">stderr_contents</span><span class="p">);</span>
+<a name="line-591"></a>
+<a name="line-592"></a> <span class="k">return</span> <span class="n">retval</span><span class="p">;</span>
+<a name="line-593"></a><span class="p">}</span>
+<a name="line-594"></a>
+<a name="line-595"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-596"></a><span class="nf">add_share</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-597"></a><span class="p">{</span>
+<a name="line-598"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">7</span><span class="p">];</span>
+<a name="line-599"></a> <span class="kt">int</span> <span class="n">argc</span><span class="p">;</span>
+<a name="line-600"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-601"></a> <span class="n">GKeyFile</span> <span class="o">*</span><span class="n">key_file</span><span class="p">;</span>
+<a name="line-602"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-603"></a> <span class="n">gboolean</span> <span class="n">supports_success</span><span class="p">;</span>
+<a name="line-604"></a> <span class="n">gboolean</span> <span class="n">supports_guest_ok</span><span class="p">;</span>
+<a name="line-605"></a> <span class="n">gboolean</span> <span class="n">net_usershare_success</span><span class="p">;</span>
+<a name="line-606"></a>
+<a name="line-607"></a> <span class="cm">/* g_message (&quot;add_share() start&quot;); */</span>
+<a name="line-608"></a>
+<a name="line-609"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_add</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-610"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-611"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-612"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-613"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Failed&quot;</span><span class="p">));</span>
+<a name="line-614"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;add_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-615"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-616"></a> <span class="p">}</span>
+<a name="line-617"></a>
+<a name="line-618"></a> <span class="n">supports_success</span> <span class="o">=</span> <span class="n">shares_supports_guest_ok</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">supports_guest_ok</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-619"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">supports_success</span><span class="p">)</span>
+<a name="line-620"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-621"></a>
+<a name="line-622"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;add&quot;</span><span class="p">;</span>
+<a name="line-623"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;-l&quot;</span><span class="p">;</span>
+<a name="line-624"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-625"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">;</span>
+<a name="line-626"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">;</span>
+<a name="line-627"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span> <span class="o">?</span> <span class="s">&quot;Everyone:F&quot;</span> <span class="o">:</span> <span class="n">g_strdup_printf</span> <span class="p">(</span><span class="s">&quot;Everyone:R,%s:F&quot;</span><span class="p">,</span> <span class="n">g_get_user_name</span> <span class="p">());</span>
+<a name="line-628"></a>
+<a name="line-629"></a> <span class="k">if</span> <span class="p">(</span><span class="n">supports_guest_ok</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-630"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">info</span><span class="o">-&gt;</span><span class="n">guest_ok</span> <span class="o">?</span> <span class="s">&quot;guest_ok=y&quot;</span> <span class="o">:</span> <span class="s">&quot;guest_ok=n&quot;</span><span class="p">;</span>
+<a name="line-631"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<a name="line-632"></a> <span class="p">}</span> <span class="k">else</span>
+<a name="line-633"></a> <span class="n">argc</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<a name="line-634"></a>
+<a name="line-635"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-636"></a> <span class="n">net_usershare_success</span> <span class="o">=</span> <span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">key_file</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">);</span>
+<a name="line-637"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">is_writable</span><span class="p">)</span> <span class="n">g_free</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">5</span><span class="p">]);</span>
+<a name="line-638"></a>
+<a name="line-639"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_success</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-640"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare add</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-641"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-642"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-643"></a> <span class="p">}</span>
+<a name="line-644"></a>
+<a name="line-645"></a> <span class="n">replace_shares_from_key_file</span> <span class="p">(</span><span class="n">key_file</span><span class="p">);</span>
+<a name="line-646"></a>
+<a name="line-647"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-648"></a> <span class="n">add_share_info_to_hashes</span> <span class="p">(</span><span class="n">copy</span><span class="p">);</span>
+<a name="line-649"></a>
+<a name="line-650"></a> <span class="cm">/* g_message (&quot;add_share() end SUCCESS&quot;); */</span>
+<a name="line-651"></a>
+<a name="line-652"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-653"></a><span class="p">}</span>
+<a name="line-654"></a>
+<a name="line-655"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-656"></a><span class="nf">remove_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-657"></a><span class="p">{</span>
+<a name="line-658"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-659"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+<a name="line-660"></a> <span class="n">GError</span> <span class="o">*</span><span class="n">real_error</span><span class="p">;</span>
+<a name="line-661"></a>
+<a name="line-662"></a> <span class="cm">/* g_message (&quot;remove_share() start&quot;); */</span>
+<a name="line-663"></a>
+<a name="line-664"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_remove</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-665"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-666"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-667"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-668"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-669"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-670"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-671"></a> <span class="p">}</span>
+<a name="line-672"></a>
+<a name="line-673"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-674"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">old_info</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-675"></a> <span class="kt">char</span> <span class="o">*</span><span class="n">display_name</span><span class="p">;</span>
+<a name="line-676"></a>
+<a name="line-677"></a> <span class="n">display_name</span> <span class="o">=</span> <span class="n">g_filename_display_name</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-678"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-679"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-680"></a> <span class="n">SHARES_ERROR_NONEXISTENT</span><span class="p">,</span>
+<a name="line-681"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot remove the share for path %s: that path is not shared&quot;</span><span class="p">),</span>
+<a name="line-682"></a> <span class="n">display_name</span><span class="p">);</span>
+<a name="line-683"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">display_name</span><span class="p">);</span>
+<a name="line-684"></a>
+<a name="line-685"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL: path %s was not in our hashes&quot;</span><span class="p">,</span> <span class="n">path</span><span class="p">);</span>
+<a name="line-686"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-687"></a> <span class="p">}</span>
+<a name="line-688"></a>
+<a name="line-689"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;delete&quot;</span><span class="p">;</span>
+<a name="line-690"></a> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">;</span>
+<a name="line-691"></a>
+<a name="line-692"></a> <span class="n">real_error</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-693"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">net_usershare_run</span> <span class="p">(</span><span class="n">G_N_ELEMENTS</span> <span class="p">(</span><span class="n">argv</span><span class="p">),</span> <span class="n">argv</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">real_error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-694"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;Called </span><span class="se">\&quot;</span><span class="s">net usershare delete</span><span class="se">\&quot;</span><span class="s"> but it failed: %s&quot;</span><span class="p">,</span> <span class="n">real_error</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+<a name="line-695"></a> <span class="n">g_propagate_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span> <span class="n">real_error</span><span class="p">);</span>
+<a name="line-696"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;remove_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-697"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-698"></a> <span class="p">}</span>
+<a name="line-699"></a>
+<a name="line-700"></a> <span class="n">remove_share_info_from_hashes</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-701"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">old_info</span><span class="p">);</span>
+<a name="line-702"></a>
+<a name="line-703"></a> <span class="cm">/* g_message (&quot;remove_share() end SUCCESS&quot;); */</span>
+<a name="line-704"></a>
+<a name="line-705"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-706"></a><span class="p">}</span>
+<a name="line-707"></a>
+<a name="line-708"></a><span class="k">static</span> <span class="n">gboolean</span>
+<a name="line-709"></a><span class="nf">modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-710"></a><span class="p">{</span>
+<a name="line-711"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">old_info</span><span class="p">;</span>
+<a name="line-712"></a>
+<a name="line-713"></a> <span class="cm">/* g_message (&quot;modify_share() start&quot;); */</span>
+<a name="line-714"></a>
+<a name="line-715"></a> <span class="n">old_info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">old_path</span><span class="p">);</span>
+<a name="line-716"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-717"></a> <span class="cm">/*g_message (&quot;modify_share() end; calling add_share() instead&quot;);*/</span>
+<a name="line-718"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-719"></a> <span class="p">}</span>
+<a name="line-720"></a>
+<a name="line-721"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">old_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-722"></a>
+<a name="line-723"></a> <span class="k">if</span> <span class="p">(</span><span class="n">strcmp</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span> <span class="n">old_info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-724"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-725"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-726"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-727"></a> <span class="n">_</span><span class="p">(</span><span class="s">&quot;Cannot change the path of an existing share; please remove the old share first and add a new one&quot;</span><span class="p">));</span>
+<a name="line-728"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: tried to change the path in a share!&quot;</span><span class="p">);</span>
+<a name="line-729"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-730"></a> <span class="p">}</span>
+<a name="line-731"></a>
+<a name="line-732"></a> <span class="k">if</span> <span class="p">(</span><span class="n">throw_error_on_modify</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-733"></a> <span class="n">g_set_error</span> <span class="p">(</span><span class="n">error</span><span class="p">,</span>
+<a name="line-734"></a> <span class="n">SHARES_ERROR</span><span class="p">,</span>
+<a name="line-735"></a> <span class="n">SHARES_ERROR_FAILED</span><span class="p">,</span>
+<a name="line-736"></a> <span class="s">&quot;Failed&quot;</span><span class="p">);</span>
+<a name="line-737"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL&quot;</span><span class="p">);</span>
+<a name="line-738"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-739"></a> <span class="p">}</span>
+<a name="line-740"></a>
+<a name="line-741"></a> <span class="cm">/* Although &quot;net usershare add&quot; will modify an existing share if it has the same share name</span>
+<a name="line-742"></a><span class="cm"> * as the one that gets passed in, our semantics are different. We have a one-to-one mapping</span>
+<a name="line-743"></a><span class="cm"> * between paths and share names; &quot;net usershare&quot; supports a one-to-many mapping from paths</span>
+<a name="line-744"></a><span class="cm"> * to share names. So, we must first remove the old share and then add the new/modified one.</span>
+<a name="line-745"></a><span class="cm"> */</span>
+<a name="line-746"></a>
+<a name="line-747"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-748"></a> <span class="n">g_message</span> <span class="p">(</span><span class="s">&quot;modify_share() end FAIL: error when removing old share&quot;</span><span class="p">);</span>
+<a name="line-749"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-750"></a> <span class="p">}</span>
+<a name="line-751"></a>
+<a name="line-752"></a> <span class="cm">/* g_message (&quot;modify_share() end: will call add_share() with the new share info&quot;); */</span>
+<a name="line-753"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-754"></a><span class="p">}</span>
+<a name="line-755"></a>
+<a name="line-756"></a>
+<a name="line-757"></a><span class="cm">/* Public API */</span>
+<a name="line-758"></a>
+<a name="line-759"></a><span class="n">GQuark</span>
+<a name="line-760"></a><span class="nf">shares_error_quark</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span>
+<a name="line-761"></a><span class="p">{</span>
+<a name="line-762"></a> <span class="k">static</span> <span class="n">GQuark</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-763"></a>
+<a name="line-764"></a> <span class="k">if</span> <span class="p">(</span><span class="n">quark</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+<a name="line-765"></a> <span class="n">quark</span> <span class="o">=</span> <span class="n">g_quark_from_string</span> <span class="p">(</span><span class="s">&quot;caja-share-error-quark&quot;</span><span class="p">);</span> <span class="cm">/* not from_static_string since we are a module */</span>
+<a name="line-766"></a>
+<a name="line-767"></a> <span class="k">return</span> <span class="n">quark</span><span class="p">;</span>
+<a name="line-768"></a><span class="p">}</span>
+<a name="line-769"></a>
+<a name="line-770"></a><span class="cm">/**</span>
+<a name="line-771"></a><span class="cm"> * shares_free_share_info:</span>
+<a name="line-772"></a><span class="cm"> * @info: A #ShareInfo structure.</span>
+<a name="line-773"></a><span class="cm"> *</span>
+<a name="line-774"></a><span class="cm"> * Frees a #ShareInfo structure.</span>
+<a name="line-775"></a><span class="cm"> **/</span>
+<a name="line-776"></a><span class="kt">void</span>
+<a name="line-777"></a><span class="nf">shares_free_share_info</span> <span class="p">(</span><span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">)</span>
+<a name="line-778"></a><span class="p">{</span>
+<a name="line-779"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-780"></a>
+<a name="line-781"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<a name="line-782"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-783"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="o">-&gt;</span><span class="n">comment</span><span class="p">);</span>
+<a name="line-784"></a> <span class="n">g_free</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-785"></a><span class="p">}</span>
+<a name="line-786"></a>
+<a name="line-787"></a><span class="cm">/**</span>
+<a name="line-788"></a><span class="cm"> * shares_get_path_is_shared:</span>
+<a name="line-789"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-790"></a><span class="cm"> * @ret_is_shared: Location to store result value (#TRUE if the path is shared, #FALSE otherwise)</span>
+<a name="line-791"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-792"></a><span class="cm"> *</span>
+<a name="line-793"></a><span class="cm"> * Checks whether a path is shared through Samba.</span>
+<a name="line-794"></a><span class="cm"> *</span>
+<a name="line-795"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-796"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-797"></a><span class="cm"> * @error argument, and *@ret_is_shared will be set to #FALSE.</span>
+<a name="line-798"></a><span class="cm"> **/</span>
+<a name="line-799"></a><span class="n">gboolean</span>
+<a name="line-800"></a><span class="nf">shares_get_path_is_shared</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_is_shared</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-801"></a><span class="p">{</span>
+<a name="line-802"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_is_shared</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-803"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-804"></a>
+<a name="line-805"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-806"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-807"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-808"></a> <span class="p">}</span>
+<a name="line-809"></a>
+<a name="line-810"></a> <span class="o">*</span><span class="n">ret_is_shared</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-811"></a>
+<a name="line-812"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-813"></a><span class="p">}</span>
+<a name="line-814"></a>
+<a name="line-815"></a><span class="cm">/**</span>
+<a name="line-816"></a><span class="cm"> * shares_get_share_info_for_path:</span>
+<a name="line-817"></a><span class="cm"> * @path: A full path name (&quot;/foo/bar/baz&quot;) in file system encoding.</span>
+<a name="line-818"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-819"></a><span class="cm"> * will be non-NULL if the path is indeed shared, or #NULL if the path is not</span>
+<a name="line-820"></a><span class="cm"> * shared. You must free the non-NULL value with shares_free_share_info().</span>
+<a name="line-821"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-822"></a><span class="cm"> *</span>
+<a name="line-823"></a><span class="cm"> * Queries the information for a shared path: its share name, its read-only status, etc.</span>
+<a name="line-824"></a><span class="cm"> *</span>
+<a name="line-825"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-826"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-827"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-828"></a><span class="cm"> **/</span>
+<a name="line-829"></a><span class="n">gboolean</span>
+<a name="line-830"></a><span class="nf">shares_get_share_info_for_path</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-831"></a><span class="p">{</span>
+<a name="line-832"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-833"></a>
+<a name="line-834"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">path</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-835"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-836"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-837"></a>
+<a name="line-838"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-839"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-840"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-841"></a> <span class="p">}</span>
+<a name="line-842"></a>
+<a name="line-843"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_path</span> <span class="p">(</span><span class="n">path</span><span class="p">);</span>
+<a name="line-844"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-845"></a>
+<a name="line-846"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-847"></a><span class="p">}</span>
+<a name="line-848"></a>
+<a name="line-849"></a><span class="cm">/**</span>
+<a name="line-850"></a><span class="cm"> * shares_get_share_name_exists:</span>
+<a name="line-851"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-852"></a><span class="cm"> * @ret_exists: Location to store return value; #TRUE if the share name exists, #FALSE otherwise.</span>
+<a name="line-853"></a><span class="cm"> *</span>
+<a name="line-854"></a><span class="cm"> * Queries whether a share name already exists in the user&#39;s list of shares.</span>
+<a name="line-855"></a><span class="cm"> *</span>
+<a name="line-856"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-857"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-858"></a><span class="cm"> * @error argument, and *@ret_exists will be set to #FALSE.</span>
+<a name="line-859"></a><span class="cm"> **/</span>
+<a name="line-860"></a><span class="n">gboolean</span>
+<a name="line-861"></a><span class="nf">shares_get_share_name_exists</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">gboolean</span> <span class="o">*</span><span class="n">ret_exists</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-862"></a><span class="p">{</span>
+<a name="line-863"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-864"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_exists</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-865"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-866"></a>
+<a name="line-867"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-868"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-869"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-870"></a> <span class="p">}</span>
+<a name="line-871"></a>
+<a name="line-872"></a> <span class="o">*</span><span class="n">ret_exists</span> <span class="o">=</span> <span class="p">(</span><span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-873"></a>
+<a name="line-874"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-875"></a><span class="p">}</span>
+<a name="line-876"></a>
+<a name="line-877"></a><span class="cm">/**</span>
+<a name="line-878"></a><span class="cm"> * shares_get_share_info_for_share_name:</span>
+<a name="line-879"></a><span class="cm"> * @share_name: Name of a share.</span>
+<a name="line-880"></a><span class="cm"> * @ret_share_info: Location to store result with the share&#39;s info - on return,</span>
+<a name="line-881"></a><span class="cm"> * will be non-NULL if there is a share for the specified name, or #NULL if no</span>
+<a name="line-882"></a><span class="cm"> * share has such name. You must free the non-NULL value with</span>
+<a name="line-883"></a><span class="cm"> * shares_free_share_info().</span>
+<a name="line-884"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-885"></a><span class="cm"> *</span>
+<a name="line-886"></a><span class="cm"> * Queries the information for the share which has a specific name.</span>
+<a name="line-887"></a><span class="cm"> *</span>
+<a name="line-888"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-889"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-890"></a><span class="cm"> * @error argument, and *@ret_share_info will be set to #NULL.</span>
+<a name="line-891"></a><span class="cm"> **/</span>
+<a name="line-892"></a><span class="n">gboolean</span>
+<a name="line-893"></a><span class="nf">shares_get_share_info_for_share_name</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">share_name</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">**</span><span class="n">ret_share_info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-894"></a><span class="p">{</span>
+<a name="line-895"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-896"></a>
+<a name="line-897"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">share_name</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-898"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_share_info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-899"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-900"></a>
+<a name="line-901"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-902"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-903"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-904"></a> <span class="p">}</span>
+<a name="line-905"></a>
+<a name="line-906"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">lookup_share_by_share_name</span> <span class="p">(</span><span class="n">share_name</span><span class="p">);</span>
+<a name="line-907"></a> <span class="o">*</span><span class="n">ret_share_info</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-908"></a>
+<a name="line-909"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-910"></a><span class="p">}</span>
+<a name="line-911"></a>
+<a name="line-912"></a><span class="cm">/**</span>
+<a name="line-913"></a><span class="cm"> * shares_modify_share:</span>
+<a name="line-914"></a><span class="cm"> * @old_path: Path of the share to modify, or %NULL.</span>
+<a name="line-915"></a><span class="cm"> * @info: Info of the share to modify/add, or %NULL to delete a share.</span>
+<a name="line-916"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-917"></a><span class="cm"> *</span>
+<a name="line-918"></a><span class="cm"> * Can add, modify, or delete shares. To add a share, pass %NULL for @old_path,</span>
+<a name="line-919"></a><span class="cm"> * and a non-null @info. To modify a share, pass a non-null @old_path and</span>
+<a name="line-920"></a><span class="cm"> * non-null @info; in this case, @info-&gt;path must have the same contents as</span>
+<a name="line-921"></a><span class="cm"> * @old_path. To remove a share, pass a non-NULL @old_path and a %NULL @info.</span>
+<a name="line-922"></a><span class="cm"> *</span>
+<a name="line-923"></a><span class="cm"> * Return value: TRUE if the share could be modified, FALSE otherwise. If this returns</span>
+<a name="line-924"></a><span class="cm"> * FALSE, then the error information will be placed in @error.</span>
+<a name="line-925"></a><span class="cm"> **/</span>
+<a name="line-926"></a><span class="n">gboolean</span>
+<a name="line-927"></a><span class="nf">shares_modify_share</span> <span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">old_path</span><span class="p">,</span> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-928"></a><span class="p">{</span>
+<a name="line-929"></a> <span class="n">g_assert</span> <span class="p">((</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-930"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-931"></a> <span class="o">||</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">!=</span> <span class="nb">NULL</span> <span class="o">&amp;&amp;</span> <span class="n">info</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">));</span>
+<a name="line-932"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-933"></a>
+<a name="line-934"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span>
+<a name="line-935"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-936"></a>
+<a name="line-937"></a> <span class="k">if</span> <span class="p">(</span><span class="n">old_path</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-938"></a> <span class="k">return</span> <span class="n">add_share</span> <span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-939"></a> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">info</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
+<a name="line-940"></a> <span class="k">return</span> <span class="n">remove_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-941"></a> <span class="k">else</span>
+<a name="line-942"></a> <span class="k">return</span> <span class="n">modify_share</span> <span class="p">(</span><span class="n">old_path</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+<a name="line-943"></a><span class="p">}</span>
+<a name="line-944"></a>
+<a name="line-945"></a><span class="k">static</span> <span class="kt">void</span>
+<a name="line-946"></a><span class="nf">copy_to_slist_cb</span> <span class="p">(</span><span class="n">gpointer</span> <span class="n">key</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">value</span><span class="p">,</span> <span class="n">gpointer</span> <span class="n">data</span><span class="p">)</span>
+<a name="line-947"></a><span class="p">{</span>
+<a name="line-948"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">info</span><span class="p">;</span>
+<a name="line-949"></a> <span class="n">ShareInfo</span> <span class="o">*</span><span class="n">copy</span><span class="p">;</span>
+<a name="line-950"></a> <span class="n">GSList</span> <span class="o">**</span><span class="n">list</span><span class="p">;</span>
+<a name="line-951"></a>
+<a name="line-952"></a> <span class="n">info</span> <span class="o">=</span> <span class="n">value</span><span class="p">;</span>
+<a name="line-953"></a> <span class="n">list</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
+<a name="line-954"></a>
+<a name="line-955"></a> <span class="n">copy</span> <span class="o">=</span> <span class="n">copy_share_info</span> <span class="p">(</span><span class="n">info</span><span class="p">);</span>
+<a name="line-956"></a> <span class="o">*</span><span class="n">list</span> <span class="o">=</span> <span class="n">g_slist_prepend</span> <span class="p">(</span><span class="o">*</span><span class="n">list</span><span class="p">,</span> <span class="n">copy</span><span class="p">);</span>
+<a name="line-957"></a><span class="p">}</span>
+<a name="line-958"></a>
+<a name="line-959"></a><span class="cm">/**</span>
+<a name="line-960"></a><span class="cm"> * shares_get_share_info_list:</span>
+<a name="line-961"></a><span class="cm"> * @ret_info_list: Location to store the return value, which is a list</span>
+<a name="line-962"></a><span class="cm"> * of #ShareInfo structures. Free this with shares_free_share_info_list().</span>
+<a name="line-963"></a><span class="cm"> * @error: Location to store error, or #NULL.</span>
+<a name="line-964"></a><span class="cm"> *</span>
+<a name="line-965"></a><span class="cm"> * Gets the list of shared folders and their information.</span>
+<a name="line-966"></a><span class="cm"> *</span>
+<a name="line-967"></a><span class="cm"> * Return value: #TRUE if the info could be queried successfully, #FALSE</span>
+<a name="line-968"></a><span class="cm"> * otherwise. If this function returns #FALSE, an error code will be returned in the</span>
+<a name="line-969"></a><span class="cm"> * @error argument, and *@ret_info_list will be set to #NULL.</span>
+<a name="line-970"></a><span class="cm"> **/</span>
+<a name="line-971"></a><span class="n">gboolean</span>
+<a name="line-972"></a><span class="nf">shares_get_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">**</span><span class="n">ret_info_list</span><span class="p">,</span> <span class="n">GError</span> <span class="o">**</span><span class="n">error</span><span class="p">)</span>
+<a name="line-973"></a><span class="p">{</span>
+<a name="line-974"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">ret_info_list</span> <span class="o">!=</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-975"></a> <span class="n">g_assert</span> <span class="p">(</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span> <span class="o">||</span> <span class="o">*</span><span class="n">error</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">);</span>
+<a name="line-976"></a>
+<a name="line-977"></a> <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">refresh_if_needed</span> <span class="p">(</span><span class="n">error</span><span class="p">))</span> <span class="p">{</span>
+<a name="line-978"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-979"></a> <span class="k">return</span> <span class="n">FALSE</span><span class="p">;</span>
+<a name="line-980"></a> <span class="p">}</span>
+<a name="line-981"></a>
+<a name="line-982"></a> <span class="o">*</span><span class="n">ret_info_list</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+<a name="line-983"></a> <span class="n">g_hash_table_foreach</span> <span class="p">(</span><span class="n">path_share_info_hash</span><span class="p">,</span> <span class="n">copy_to_slist_cb</span><span class="p">,</span> <span class="n">ret_info_list</span><span class="p">);</span>
+<a name="line-984"></a>
+<a name="line-985"></a> <span class="k">return</span> <span class="n">TRUE</span><span class="p">;</span>
+<a name="line-986"></a><span class="p">}</span>
+<a name="line-987"></a>
+<a name="line-988"></a><span class="cm">/**</span>
+<a name="line-989"></a><span class="cm"> * shares_free_share_info_list:</span>
+<a name="line-990"></a><span class="cm"> * @list: List of #ShareInfo structures, or %NULL.</span>
+<a name="line-991"></a><span class="cm"> *</span>
+<a name="line-992"></a><span class="cm"> * Frees a list of #ShareInfo structures as returned by shares_get_share_info_list().</span>
+<a name="line-993"></a><span class="cm"> **/</span>
+<a name="line-994"></a><span class="kt">void</span>
+<a name="line-995"></a><span class="nf">shares_free_share_info_list</span> <span class="p">(</span><span class="n">GSList</span> <span class="o">*</span><span class="n">list</span><span class="p">)</span>
+<a name="line-996"></a><span class="p">{</span>
+<a name="line-997"></a> <span class="n">GSList</span> <span class="o">*</span><span class="n">l</span><span class="p">;</span>
+<a name="line-998"></a>
+<a name="line-999"></a> <span class="k">for</span> <span class="p">(</span><span class="n">l</span> <span class="o">=</span> <span class="n">list</span><span class="p">;</span> <span class="n">l</span><span class="p">;</span> <span class="n">l</span> <span class="o">=</span> <span class="n">l</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span> <span class="p">{</span>
+<a name="line-1000"></a> <span class="n">shares_free_share_info</span> <span class="p">(</span><span class="n">l</span><span class="o">-&gt;</span><span class="n">data</span><span class="p">);</span>
+<a name="line-1001"></a> <span class="p">}</span>
+<a name="line-1002"></a>
+<a name="line-1003"></a> <span class="n">g_slist_free</span> <span class="p">(</span><span class="n">list</span><span class="p">);</span>
+<a name="line-1004"></a><span class="p">}</span>
+<a name="line-1005"></a>
+<a name="line-1006"></a><span class="kt">void</span>
+<a name="line-1007"></a><span class="nf">shares_set_debug</span> <span class="p">(</span><span class="n">gboolean</span> <span class="n">error_on_refresh</span><span class="p">,</span>
+<a name="line-1008"></a> <span class="n">gboolean</span> <span class="n">error_on_add</span><span class="p">,</span>
+<a name="line-1009"></a> <span class="n">gboolean</span> <span class="n">error_on_modify</span><span class="p">,</span>
+<a name="line-1010"></a> <span class="n">gboolean</span> <span class="n">error_on_remove</span><span class="p">)</span>
+<a name="line-1011"></a><span class="p">{</span>
+<a name="line-1012"></a> <span class="n">throw_error_on_refresh</span> <span class="o">=</span> <span class="n">error_on_refresh</span><span class="p">;</span>
+<a name="line-1013"></a> <span class="n">throw_error_on_add</span> <span class="o">=</span> <span class="n">error_on_add</span><span class="p">;</span>
+<a name="line-1014"></a> <span class="n">throw_error_on_modify</span> <span class="o">=</span> <span class="n">error_on_modify</span><span class="p">;</span>
+<a name="line-1015"></a> <span class="n">throw_error_on_remove</span> <span class="o">=</span> <span class="n">error_on_remove</span><span class="p">;</span>
+<a name="line-1016"></a><span class="p">}</span>
+</pre></div>
+</td></tr></table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/index.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/index.html
new file mode 100644
index 0000000..467e899
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/index.html
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Defect summary;</a> </p>
+
+ <label><input type="checkbox" onclick="toggle_all()" checked> Toggle all</label>
+ <table>
+ <tr><th>Show</th><th>#</th><th>Defect ID</th></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='variableScope' name='variableScope' checked></td><td>18</td><td>variableScope</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='unusedStructMember' name='unusedStructMember' checked></td><td>8</td><td>unusedStructMember</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='shadowVariable' name='shadowVariable' checked></td><td>2</td><td>shadowVariable</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='constArgument' name='constArgument' checked></td><td>1</td><td>constArgument</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='duplicateCondition' name='duplicateCondition' checked></td><td>1</td><td>duplicateCondition</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='missingInclude' name='missingInclude' checked></td><td>1</td><td>missingInclude</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerArithmeticRedundantCheck' name='nullPointerArithmeticRedundantCheck' checked></td><td>1</td><td>nullPointerArithmeticRedundantCheck</td></tr>
+ <tr><td><input type='checkbox' onclick='toggle_class_visibility(this.id)' id='nullPointerRedundantCheck' name='nullPointerRedundantCheck' checked></td><td>1</td><td>nullPointerRedundantCheck</td></tr>
+ <tr><td></td><td>33</td><td>total</td></tr>
+ </table>
+ <p><a href="stats.html">Statistics</a></p>
+ </div>
+ <div id="content_index">
+
+ <table>
+ <tr><th>Line</th><th>Id</th><th>CWE</th><th>Severity</th><th>Message</th></tr>
+ <tr><td colspan='5'><a href='11.html'></a></td></tr>
+ <tr class="missingInclude"><td></td><td>missingInclude</td><td></td><td>information</td><td>Cppcheck cannot find all the include files (use --check-config for details)</td></tr>
+ <tr><td colspan='5'><a href='0.html'>image-converter/caja-image-converter-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="0.html#line-284">284</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='1.html'>open-terminal/caja-open-terminal.c</a></td></tr>
+ <tr class="nullPointerRedundantCheck"><td><a href="1.html#line-208">208</a></td><td>nullPointerRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/476.html'>476</a></td><td>warning</td><td >Either the condition &apos;uri!=NULL&apos; is redundant or there is possible null pointer dereference: uri.</td></tr>
+ <tr class="nullPointerArithmeticRedundantCheck"><td><a href="1.html#line-210">210</a></td><td>nullPointerArithmeticRedundantCheck</td><td><a href='https://cwe.mitre.org/data/definitions/682.html'>682</a></td><td>warning</td><td >Either the condition &apos;u!=NULL&apos; is redundant or there is pointer arithmetic with NULL pointer.</td></tr>
+ <tr class="variableScope"><td><a href="1.html#line-320">320</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;ditem&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='2.html'>sendto/caja-nste.c</a></td></tr>
+ <tr class="variableScope"><td><a href="2.html#line-40">40</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;uri&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='3.html'>sendto/caja-sendto-command.c</a></td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-401">401</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;w&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-422">422</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;pixbuf&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="3.html#line-629">629</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='4.html'>sendto/caja-sendto-resources.c</a></td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-10">10</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::alignment&apos; is never used.</td></tr>
+ <tr class="unusedStructMember"><td><a href="4.html#line-121">121</a></td><td>unusedStructMember</td><td><a href='https://cwe.mitre.org/data/definitions/563.html'>563</a></td><td>style</td><td >union member &apos;Anonymous0::ptr&apos; is never used.</td></tr>
+ <tr><td colspan='5'><a href='5.html'>sendto/plugins/caja-burn/caja-burn.c</a></td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-134">134</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;fenum&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-135">135</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_info&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="5.html#line-136">136</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;child&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='6.html'>sendto/plugins/gajim/gajim.c</a></td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-56">56</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;existing_contact&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-62">62</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;jid&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-200">200</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;account&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-311">311</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;show&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-409">409</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;value&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-411">411</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;contact_props&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="6.html#line-416">416</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='7.html'>sendto/plugins/pidgin/pidgin.c</a></td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-233">233</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;accounts&apos; shadows outer variable</td></tr>
+ <tr class="shadowVariable"><td><a href="7.html#line-242">242</a></td><td>shadowVariable</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >Local variable &apos;i&apos; shadows outer variable</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-376">376</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file&apos; can be reduced.</td></tr>
+ <tr class="variableScope"><td><a href="7.html#line-377">377</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;file_path&apos; can be reduced.</td></tr>
+ <tr><td colspan='5'><a href='8.html'>share/caja-share.c</a></td></tr>
+ <tr class="duplicateCondition"><td><a href="8.html#line-738">738</a></td><td>duplicateCondition</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The if condition is the same as the previous if condition</td></tr>
+ <tr><td colspan='5'><a href='9.html'>share/shares.c</a></td></tr>
+ <tr class="constArgument"><td><a href="9.html#line-392">392</a></td><td>constArgument</td><td><a href='https://cwe.mitre.org/data/definitions/570.html'>570</a></td><td>style</td><td >Argument &apos;path!=NULL&apos; to function g_assert is always 1</td></tr>
+ <tr><td colspan='5'><a href='10.html'>wallpaper/caja-wallpaper-extension.c</a></td></tr>
+ <tr class="variableScope"><td><a href="10.html#line-86">86</a></td><td>variableScope</td><td><a href='https://cwe.mitre.org/data/definitions/398.html'>398</a></td><td>style</td><td >The scope of the variable &apos;item&apos; can be reduced.</td></tr>
+ </table>
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/stats.html b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/stats.html
new file mode 100644
index 0000000..bf7d631
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/stats.html
@@ -0,0 +1,101 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Cppcheck - HTML report - caja-extensions</title>
+ <link rel="stylesheet" href="style.css">
+ <style>
+
+ </style>
+ <script language="javascript">
+ function getStyle(el,styleProp) {
+ if (el.currentStyle)
+ var y = el.currentStyle[styleProp];
+ else if (window.getComputedStyle)
+ var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
+ return y;
+ }
+ function toggle() {
+ var el = this.expandable_content;
+ var mark = this.expandable_marker;
+ if (el.style.display == "block") {
+ el.style.display = "none";
+ mark.innerHTML = "[+]";
+ } else {
+ el.style.display = "block";
+ mark.innerHTML = "[-]";
+ }
+ }
+ function init_expandables() {
+ var elts = document.getElementsByClassName("expandable");
+ for (var i = 0; i < elts.length; i++) {
+ var el = elts[i];
+ var clickable = el.getElementsByTagName("span")[0];
+ var marker = clickable.getElementsByClassName("marker")[0];
+ var content = el.getElementsByClassName("content")[0];
+ var width = clickable.clientWidth - parseInt(getStyle(content, "padding-left")) - parseInt(getStyle(content, "padding-right"));
+ content.style.width = width + "px";
+ clickable.expandable_content = content;
+ clickable.expandable_marker = marker;
+ clickable.onclick = toggle;
+ }
+ }
+ function set_class_display(c, st) {
+ var elements = document.querySelectorAll('.' + c),
+ len = elements.length;
+ for (i = 0; i < len; i++) {
+ elements[i].style.display = st;
+ }
+ }
+ function toggle_class_visibility(id) {
+ var box = document.getElementById(id);
+ set_class_display(id, box.checked ? '' : 'none');
+ }
+ function toggle_all(){
+ var elts = document.getElementsByTagName("input");
+ for (var i = 1; i < elts.length; i++) {
+ var el = elts[i];
+ el.checked ? el.checked=false : el.checked=true;
+ toggle_class_visibility(el.id);
+ }
+ }
+
+ </script>
+ </head>
+ <body onload="init_expandables()">
+ <div id="header">
+ <h1>Cppcheck report - caja-extensions: Statistics </h1>
+ </div>
+ <div id="menu_index">
+ <p id="filename"><a href="index.html">Back to summary</a> </p>
+
+ </div>
+ <div id="content_index">
+<p>Top 10 files for warning severity, total findings: 2</br>
+&#160;&#160;&#160;2&#160;<a href="1.html"> open-terminal/caja-open-terminal.c</a></br>
+</p>
+<p>Top 10 files for style severity, total findings: 30</br>
+&#160;&#160;&#160;7&#160;<a href="6.html"> sendto/plugins/gajim/gajim.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="7.html"> sendto/plugins/pidgin/pidgin.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="4.html"> sendto/caja-sendto-resources.c</a></br>
+&#160;&#160;&#160;4&#160;<a href="0.html"> image-converter/caja-image-converter-resources.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="5.html"> sendto/plugins/caja-burn/caja-burn.c</a></br>
+&#160;&#160;&#160;3&#160;<a href="3.html"> sendto/caja-sendto-command.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="10.html"> wallpaper/caja-wallpaper-extension.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="9.html"> share/shares.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="8.html"> share/caja-share.c</a></br>
+&#160;&#160;&#160;1&#160;<a href="2.html"> sendto/caja-nste.c</a></br>
+</p>
+
+ </div>
+ <div id="footer">
+ <p>
+ Cppcheck 1.90 - a tool for static C/C++ code analysis</br>
+ </br>
+ Internet: <a href="http://cppcheck.net">http://cppcheck.net</a></br>
+ IRC: <a href="irc://irc.freenode.net/cppcheck">irc://irc.freenode.net/cppcheck</a></br>
+ </p>
+ </div>
+ </body>
+</html>
diff --git a/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/style.css b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/style.css
new file mode 100644
index 0000000..c39571c
--- /dev/null
+++ b/2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master/style.css
@@ -0,0 +1,149 @@
+
+body {
+ font: 13px Arial, Verdana, Sans-Serif;
+ margin: 0;
+ width: auto;
+}
+
+h1 {
+ margin: 10px;
+}
+
+#footer > p {
+ margin: 4px;
+}
+
+.error {
+ background-color: #ffb7b7;
+}
+
+.error2 {
+ background-color: #faa;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+.inconclusive {
+ background-color: #B6B6B4;
+}
+
+.inconclusive2 {
+ background-color: #B6B6B4;
+ border: 1px dotted black;
+ display: inline-block;
+ margin-left: 4px;
+}
+
+div.verbose {
+ display: inline-block;
+ vertical-align: top;
+ cursor: help;
+}
+
+div.verbose div.content {
+ display: none;
+ position: absolute;
+ padding: 10px;
+ margin: 4px;
+ max-width: 40%;
+ white-space: pre-wrap;
+ border: 1px solid black;
+ background-color: #FFFFCC;
+ cursor: auto;
+}
+
+.highlight .hll {
+ padding: 1px;
+}
+
+#header {
+ border-bottom: thin solid #aaa;
+}
+
+#menu {
+ float: left;
+ margin-top: 5px;
+ text-align: left;
+ width: 150px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu_index {
+ float: left;
+ margin-top: 5px;
+ padding-left: 5px;
+ text-align: left;
+ width: 300px;
+ /*height: 75%;*/
+ position: fixed;
+ overflow: auto;
+ z-index: 1;
+}
+
+#menu > a {
+ display: block;
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+#filename {
+ margin-left: 10px;
+ font: 12px;
+ z-index: 1;
+}
+
+.highlighttable {
+ background-color:white;
+ z-index: 10;
+ position: relative;
+ margin: -10 px;
+}
+
+#content {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 150px;
+}
+
+#content_index {
+ background-color: white;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ float: left;
+ margin: 5px;
+ margin-left: 10px;
+ padding: 0 10px 10px 10px;
+ width: 80%;
+ padding-left: 300px;
+}
+
+.linenos {
+ border-right: thin solid #aaa;
+ color: lightgray;
+ padding-right: 6px;
+}
+
+#footer {
+ border-top: thin solid #aaa;
+ clear: both;
+ font-size: 90%;
+ margin-top: 5px;
+}
+
+#footer ul {
+ list-style-type: none;
+ padding-left: 0;
+}
diff --git a/CNAME b/CNAME
new file mode 100644
index 0000000..174c3ed
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+caja-extensions.mate-desktop.dev
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..5132dbe
--- /dev/null
+++ b/index.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML>
+<html lang="en">
+ <head>
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
+ <link rel="icon" href="https://github.com/mate-desktop/mate-icon-theme/raw/master/mate/16x16/apps/system-file-manager.png" />
+ <title>caja-extensions Code Analyzer results</title>
+</head>
+<body>
+<h1>
+ <a href="https://github.com/mate-desktop">mate-desktop</a>/<a href="https://github.com/mate-desktop/caja-extensions">caja-extensions</a> Static analyzer results
+</h1>
+ <a href="https://github.com/mate-desktop/caja-extensions" title="Github"><i class="fa fa-github fa-2x"></i>GitHub</a>
+ <a href="https://travis-ci.org/mate-desktop/caja-extensions/builds/702538928" title="Travis CI"><img src="https://travis-ci.org/mate-desktop/caja-extensions.svg?branch=master" alt="Build Status" /></a>
+<hr/>
+Commit: <a href="https://github.com/mate-desktop/caja-extensions/commit/a92e7aa4e086c7af2b866af1eb09527b5599365e">a92e7aa4e086c7af2b866af1eb09527b5599365e</a><br/>
+Compare: <a href="https://github.com/mate-desktop/caja-extensions/compare/274d435c1798...a92e7aa4e086">274d435c1798...a92e7aa4e086</a><br/>
+Branch: <a href="https://github.com/mate-desktop/caja-extensions/tree/master">master</a><br/>
+Time: 2020-06-26 23:23:34+00:00<br/>
+Messages:<br/>
+<pre>
+Travis CI: enable irc notifications with tagged commits
+</pre>
+<hr/>
+<ul>
+<li><a href="2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master">2020-06-26-232334-2631-cppcheck@a92e7aa4e086_master</a></li>
+<li><a href="2020-06-26-232255-6106-1@a92e7aa4e086_master">2020-06-26-232255-6106-1@a92e7aa4e086_master</a></li>
+<li><a href=2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0>2020-06-23-120253-7886-cppcheck@274d435c1798_v1.25.0</a></li>
+<li><a href=2020-06-23-120216-6106-1@274d435c1798_v1.25.0>2020-06-23-120216-6106-1@274d435c1798_v1.25.0</a></li>
+<li><a href=2020-06-23-115757-9686-cppcheck@274d435c1798_master>2020-06-23-115757-9686-cppcheck@274d435c1798_master</a></li>
+<li><a href=2020-06-23-115720-6106-1@274d435c1798_master>2020-06-23-115720-6106-1@274d435c1798_master</a></li>
+<li><a href=2020-06-23-104158-2134-cppcheck@22c7f5486c17_master>2020-06-23-104158-2134-cppcheck@22c7f5486c17_master</a></li>
+<li><a href=2020-06-23-104123-6106-1@22c7f5486c17_master>2020-06-23-104123-6106-1@22c7f5486c17_master</a></li>
+<li><a href=2020-06-23-103715-9086-cppcheck@98f663d85b4e_master>2020-06-23-103715-9086-cppcheck@98f663d85b4e_master</a></li>
+<li><a href=2020-06-23-103637-6108-1@98f663d85b4e_master>2020-06-23-103637-6108-1@98f663d85b4e_master</a></li>
+<li><a href=2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci>2020-06-22-160258-8495-cppcheck@2f92f67a71ac_travis-ci</a></li>
+<li><a href=2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci>2020-06-22-160222-6107-1@2f92f67a71ac_travis-ci</a></li>
+<li><a href=2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master>2020-06-21-110055-2570-cppcheck@9ead9ce3bdd6_master</a></li>
+<li><a href=2020-06-21-110019-6106-1@9ead9ce3bdd6_master>2020-06-21-110019-6106-1@9ead9ce3bdd6_master</a></li>
+<li><a href=2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo>2020-05-19-215023-2683-cppcheck@e7dbc883de67_mailer_evo</a></li>
+<li><a href=2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo>2020-05-19-214947-6057-1@e7dbc883de67_mailer_evo</a></li>
+<li><a href=2020-04-18-210541-6870-cppcheck@be37bd1dc030_master>2020-04-18-210541-6870-cppcheck@be37bd1dc030_master</a></li>
+<li><a href=2020-04-18-210506-6150-1@be37bd1dc030_master>2020-04-18-210506-6150-1@be37bd1dc030_master</a></li>
+<li><a href=2020-04-18-005956-2464-cppcheck@9cd55edc8599_master>2020-04-18-005956-2464-cppcheck@9cd55edc8599_master</a></li>
+<li><a href=2020-04-18-005919-8628-1@9cd55edc8599_master>2020-04-18-005919-8628-1@9cd55edc8599_master</a></li>
+</ul>
+</body>
+</html>